Merge pull request #736 from ansible/fetch_url-sendgrid

Port sendgrid to fetch_url
reviewable/pr18780/r1
Toshio Kuratomi 9 years ago
commit 5a2869bc10

@ -85,9 +85,6 @@ EXAMPLES = '''
# sendgrid module support methods
#
import urllib
import urllib2
import base64
def post_sendgrid_api(module, username, password, from_address, to_addresses,
subject, body):
@ -102,11 +99,11 @@ def post_sendgrid_api(module, username, password, from_address, to_addresses,
recipient = recipient.encode('utf-8')
to_addresses_api += '&to[]=%s' % recipient
encoded_data += to_addresses_api
request = urllib2.Request(SENDGRID_URI)
request.add_header('User-Agent', AGENT)
request.add_header('Content-type', 'application/x-www-form-urlencoded')
request.add_header('Accept', 'application/json')
return urllib2.urlopen(request, encoded_data)
headers = { 'User-Agent': AGENT,
'Content-type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'}
return fetch_url(module, SENDGRID_URI, data=encoded_data, headers=headers, method='POST')
# =======================================
@ -133,14 +130,16 @@ def main():
subject = module.params['subject']
body = module.params['body']
try:
response = post_sendgrid_api(module, username, password,
from_address, to_addresses, subject, body)
except Exception:
module.fail_json(msg="unable to send email through SendGrid API")
response, info = post_sendgrid_api(module, username, password,
from_address, to_addresses, subject, body)
if info['status'] != 200:
module.fail_json(msg="unable to send email through SendGrid API: %s" % info['msg'])
module.exit_json(msg=subject, changed=False)
# import module snippets
from ansible.module_utils.basic import *
main()
from ansible.module_utils.urls import *
if __name__ == '__main__':
main()

Loading…
Cancel
Save