salt.modules.http#
Module for making various web calls. Primarily designed for webhooks and the like, but also useful for basic http testing.
New in version 2015.5.0.
- salt.modules.http.query(url, **kwargs)#
New in version 2015.5.0.
Query a resource, and decode the return data.
All keyword arguments are forwarded to
salt.utils.http.query(). The most commonly used kwargs are summarized below; see the underlying utility for the full reference.- Request
method(defaultGET),params(query string dict),data(request body string),data_file(path or salt:// URL to read body from),data_render/data_rendererto render the body through a Salt renderer,template_dictof values to expose when rendering.- Headers
header_dict(dict of headers),header_list(list ofName: valuestrings),header_file(path or salt:// URL),header_render/header_rendererto render headers through a Salt renderer.- Authentication
usernameandpasswordfor HTTP basic auth,authfor a pre-built(user, pass)tuple,certfor a client certificate path or(cert, key)pair.- TLS
verify_ssl(defaultTrue),ca_bundleto point at an alternate CA bundle. Setverify_ssl=Falseonly for trusted development endpoints.- Cookies and sessions
cookiesto send a cookie jar,cookie_jarto load/save the jar from disk,cookie_format(lwpormozilla),persist_sessionandsession_cookie_jarto persist a session across calls.- Response decoding
decode(defaultFalse) parses the response body usingdecode_type(auto,json,yaml,xmlorplain).decode_body(defaultTrue) controls whether to decode bytes to text at all.textreturns the raw text body in the result,statusreturns the HTTP status code,headersreturns response headers.- Streaming
stream(defaultFalse) streams the response body.streaming_callbackandheader_callbackreceive chunks as they arrive.- Output capture
text_out,headers_outanddecode_outare paths to which the corresponding parts of the response will be written.- Form data
formdata(defaultFalse) sends a multipart/form-data body.formdata_fieldnameandformdata_filenameconfigure the file part.- Transport
backend(tornado,requestsorurllib2),agent(User-Agentheader),port(used when the URL has no explicit port),handle(defaultFalse) returns the raw backend response object.- Error handling
raise_error(defaultTrue). IfFalse, connection errors are suppressed and the body of the return will simply beNone.- Sensitive data
hide_fieldsis a list of header or form field names whose values should be redacted in the logged trace output.- Test mode
test(defaultFalse) andtest_urlallow you to dry-run the request against a fixture URL without making the real call.
CLI Example:
salt '*' http.query http://somelink.com/ salt '*' http.query http://somelink.com/ method=POST params='{"key1": "val1", "key2": "val2"}' salt '*' http.query http://somelink.com/ method=POST data='<xml>somecontent</xml>'
- salt.modules.http.update_ca_bundle(target=None, source=None, merge_files=None)#
Update the local CA bundle file from a URL
New in version 2015.5.0.
CLI Example:
salt '*' http.update_ca_bundle salt '*' http.update_ca_bundle target=/path/to/cacerts.pem salt '*' http.update_ca_bundle source=https://example.com/cacerts.pem
If the
targetis not specified, it will be pulled from theca_certconfiguration variable available to the minion. If it cannot be found there, it will be placed at<<FILE_ROOTS>>/cacerts.pem.If the
sourceis not specified, it will be pulled from theca_cert_urlconfiguration variable available to the minion. If it cannot be found, it will be downloaded from the cURL website, using an http (not https) URL. USING THE DEFAULT URL SHOULD BE AVOIDED!merge_filesmay also be specified, which includes a string or list of strings representing a file or files to be appended to the end of the CA bundle, once it is downloaded.CLI Example:
salt '*' http.update_ca_bundle merge_files=/path/to/mycert.pem
- salt.modules.http.wait_for_successful_query(url, wait_for=300, **kwargs)#
Query a resource until a successful response, and decode the return data
CLI Example:
salt '*' http.wait_for_successful_query http://somelink.com/ wait_for=160 request_interval=1