summaryrefslogtreecommitdiffstats
path: root/lib/ansible/plugins/test/uri.yml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/plugins/test/uri.yml')
-rw-r--r--lib/ansible/plugins/test/uri.yml30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/ansible/plugins/test/uri.yml b/lib/ansible/plugins/test/uri.yml
new file mode 100644
index 0000000..bb3b8bd
--- /dev/null
+++ b/lib/ansible/plugins/test/uri.yml
@@ -0,0 +1,30 @@
+DOCUMENTATION:
+ name: uri
+ author: Ansible Core
+ version_added: "2.14"
+ short_description: is the string a valid URI
+ description:
+ - Validates that the input string conforms to the URI standard, optionally that is also in the list of schemas provided.
+ options:
+ _input:
+ description: Possible URI.
+ type: string
+ required: True
+ schemes:
+ description: Subset of URI schemas to validate against, otherwise B(any) scheme is considered valid.
+ type: list
+ elements: string
+ required: False
+EXAMPLES: |
+ # URLs are URIs
+ {{ 'http://example.com' is uri }}
+ # but not all URIs are URLs
+ {{ 'mailto://nowone@example.com' is uri }}
+ # looking only for file transfers URIs
+ {{ 'mailto://nowone@example.com' is not uri(schemes=['ftp', 'ftps', 'sftp', 'file']) }}
+ # make sure URL conforms to the 'special schemas'
+ {{ 'http://nobody:secret@example.com' is uri(['ftp', 'ftps', 'http', 'https', 'ws', 'wss']) }}
+RETURN:
+ _value:
+ description: Returns C(false) if the string is not a URI or the schema extracted does not match the supplied list.
+ type: boolean