Using Get-AnsibleParam
conflict typo
This commit is contained in:
parent
c35c37258f
commit
7c12ed8af0
2 changed files with 36 additions and 25 deletions
|
@ -1,7 +1,7 @@
|
|||
#!powershell
|
||||
# This file is part of Ansible
|
||||
#
|
||||
# Copyright 2015, Corwin Brown <blakfeld@gmail.com>
|
||||
# Copyright 2015, Corwin Brown <corwin.brown@maxpoint.com>
|
||||
#
|
||||
# Ansible is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
@ -27,32 +27,22 @@ $result = New-Object psobject @{
|
|||
|
||||
# Build Arguments
|
||||
$webrequest_opts = @{}
|
||||
if (Get-Member -InputObject $params -Name url) {
|
||||
$url = $params.url.ToString()
|
||||
$webrequest_opts.Uri = $url
|
||||
} else {
|
||||
Fail-Json $result "Missing required argument: url"
|
||||
}
|
||||
|
||||
if (Get-Member -InputObject $params -Name method) {
|
||||
$method = $params.method.ToString()
|
||||
$webrequest_opts.Method = $method
|
||||
}
|
||||
$url = Get-AnsibleParam -obj $params -name "url" -failifempty $true
|
||||
$method = Get-AnsibleParam -obj $params "method" -default "GET"
|
||||
$content_type = Get-AnsibleParam -obj $params -name "content_type"
|
||||
$body = Get-AnsibleParam -obj $params -name "body"
|
||||
|
||||
if (Get-Member -InputObject $params -Name content_type) {
|
||||
$content_type = $params.method.content_type.ToString()
|
||||
$webrequest_opts.ContentType = $content_type
|
||||
}
|
||||
$webrequest_opts.Uri = $url
|
||||
Set-Attr $result.win_uri "url" $url
|
||||
|
||||
if (Get-Member -InputObject $params -Name body) {
|
||||
$body = $params.method.body.ToString()
|
||||
$webrequest_opts.Body = $body
|
||||
}
|
||||
@webrequest_opts.Method = $method
|
||||
Set-Attr $result.win_uri "method" $method
|
||||
|
||||
if (Get-Member -InputObject $params -Name headers) {
|
||||
$headers = $params.headers
|
||||
Set-Attr $result.win_uri "headers" $headers
|
||||
@webrequest_opts.content_type = $content_type
|
||||
Set-Attr $result.content_type "content_type" $content_type
|
||||
|
||||
if ($headers -ne $null) {
|
||||
$req_headers = @{}
|
||||
ForEach ($header in $headers.psobject.properties) {
|
||||
$req_headers.Add($header.Name, $header.Value)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
DOCUMENTATION = """
|
||||
---
|
||||
module: win_uri
|
||||
version_added: ""
|
||||
version_added: "2.0"
|
||||
short_description: Interacts with webservices.
|
||||
description:
|
||||
- Interacts with HTTP and HTTPS services.
|
||||
|
@ -32,10 +32,12 @@ options:
|
|||
url:
|
||||
description:
|
||||
- HTTP or HTTPS URL in the form of (http|https)://host.domain:port/path
|
||||
required: true
|
||||
method:
|
||||
description:
|
||||
- The HTTP Method of the request or response.
|
||||
default: GET
|
||||
required: false
|
||||
choices:
|
||||
- GET
|
||||
- POST
|
||||
|
@ -53,13 +55,17 @@ options:
|
|||
body:
|
||||
description:
|
||||
- The body of the HTTP request/response to the web service.
|
||||
required: false
|
||||
default: None
|
||||
headers:
|
||||
description:
|
||||
- Key Value pairs for headers. Example "Host: www.somesite.com"
|
||||
author: Corwin Brown
|
||||
required: false
|
||||
default: None
|
||||
author: Corwin Brown (@blakfeld)
|
||||
"""
|
||||
|
||||
Examples= """
|
||||
Examples = """
|
||||
# Send a GET request and store the output:
|
||||
---
|
||||
- name: Perform a GET and Store Output
|
||||
|
@ -90,4 +96,19 @@ Examples= """
|
|||
url: http://www.somesite.com
|
||||
method: POST
|
||||
body: "{ 'some': 'json' }"
|
||||
|
||||
# Check if a file is available on a webserver
|
||||
---
|
||||
- name: Ensure Build is Available on Fileserver
|
||||
when: ensure_build
|
||||
win_uri:
|
||||
url: "http://www.somesite.com"
|
||||
method: HEAD
|
||||
headers:
|
||||
test: one
|
||||
another: two
|
||||
register: build_check_output
|
||||
until: build_check_output.StatusCode == 200
|
||||
retries: 30
|
||||
delay: 10
|
||||
"""
|
||||
|
|
Loading…
Reference in a new issue