win_uri - Interacts with webservices
New in version 2.1.
Synopsis
- Interacts with FTP, HTTP and HTTPS web services.
- Supports Digest, Basic and WSSE HTTP authentication mechanisms.
- For non-Windows targets, use the uri module instead.
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
body | no | The body of the HTTP request/response to the web service. | ||
client_cert (added in 2.4)
| no | Specifies the client certificate(.pfx) that is used for a secure web request. | ||
content_type | no | Sets the "Content-Type" header. | ||
creates (added in 2.4)
| no | A filename, when it already exists, this step will be skipped. | ||
dest (added in 2.3)
| no | Output the response body to a file. | ||
follow_redirects (added in 2.4)
| no | safe |
| Whether or not the win_uri module should follow redirects.all will follow all redirects.none will not follow any redirects.safe will follow only "safe" redirects, where "safe" means that the client is only doing a GET or HEAD on the URI to which it is being redirected. |
headers | no | Key Value pairs for headers. Example "Host: www.somesite.com" | ||
maximum_redirection (added in 2.4)
| no | 5 | Specifies how many times win_uri redirects a connection to an alternate Uniform Resource Identifier (URI) before the connection fails.If maximum_redirection is set to 0 (zero) or follow_redirects is set to none , or set to safe when not doing GET or HEAD it prevents all redirection. | |
method | no | GET |
| The HTTP Method of the request or response. |
password (added in 2.4)
| no | Password to use for authentication. | ||
removes (added in 2.4)
| no | A filename, when it does not exist, this step will be skipped. | ||
return_content (added in 2.4)
| no | no |
| Whether or not to return the body of the response as a "content" key in the dictionary result. If the reported Content-type is "application/json", then the JSON is additionally loaded into a key called json in the dictionary results. |
status_code (added in 2.4)
| no | 200 | A valid, numeric, HTTP status code that signifies success of the request. Can also be comma separated list of status codes. | |
timeout (added in 2.4)
| no | 30 | Specifies how long the request can be pending before it times out (in seconds). The value 0 (zero) specifies an indefinite time-out. A Domain Name System (DNS) query can take up to 15 seconds to return or time out. If your request contains a host name that requires resolution, and you set timeout to a value greater than zero, but less than 15 seconds, it can take 15 seconds or more before your request times out. | |
url | yes | Supports FTP, HTTP or HTTPS URLs in the form of (ftp|http|https)://host.domain:port/path. Also supports file:/// URLs through Invoke-WebRequest. | ||
use_basic_parsing | no | yes |
| This module relies upon 'Invoke-WebRequest', which by default uses the Internet Explorer Engine to parse a webpage. There's an edge-case where if a user hasn't run IE before, this will fail. The only advantage to using the Internet Explorer praser is that you can traverse the DOM in a powershell script. That isn't useful for Ansible, so by default we toggle 'UseBasicParsing'. However, you can toggle that off here. |
user (added in 2.4)
| no | Username to use for authentication. | ||
validate_certs (added in 2.4)
| no | yes |
| If no , SSL certificates will not be validated. This should only set to no used on personally controlled sites using self-signed certificates. |
Examples
- name: Perform a GET and Store Output win_uri: url: http://example.com/endpoint register: http_output # Set a HOST header to hit an internal webserver: - name: Hit a Specific Host on the Server win_uri: url: http://example.com/ method: GET headers: host: www.somesite.com - name: Perform a HEAD on an Endpoint win_uri: url: http://www.example.com/ method: HEAD - name: POST a Body to an Endpoint win_uri: url: http://www.somesite.com/ method: POST body: "{ 'some': 'json' }"
Return Values
Common return values are documented here Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
body | The content of the body used | when body is specified | string | {"id":1} |
content_type | The "content-type" header used. | always | string | application/json |
headers | The Headers of the response. | success | dict | {'Content-Type': 'application/json'} |
method | The HTTP method used. | always | string | GET |
raw_content | The raw content of the HTTP response. | success | string | HTTP/1.1 200 OK\nX-XSS-Protection: 1; mode=block\nAlternate-Protocol: 443:quic,p=1\nAlt-Svc: quic="www.google.com:443"; |
raw_content_length | The byte size of the response. | success | int | 54447 |
status_code | The HTTP Status Code of the response. | success | int | 200 |
status_description | A summery of the status. | success | string | OK |
url | The Target URL | always | string | https://www.ansible.com |
use_basic_parsing | The state of the "use_basic_parsing" flag. | always | bool | True |
Notes
Note
- For non-Windows targets, use the uri module instead.
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/win_uri_module.html