summaryrefslogtreecommitdiff
path: root/library/notification/jabber
diff options
context:
space:
mode:
Diffstat (limited to 'library/notification/jabber')
-rw-r--r--library/notification/jabber146
1 files changed, 0 insertions, 146 deletions
diff --git a/library/notification/jabber b/library/notification/jabber
deleted file mode 100644
index 8a7eed37b3..0000000000
--- a/library/notification/jabber
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-DOCUMENTATION = '''
----
-version_added: "1.2"
-module: jabber
-short_description: Send a message to jabber user or chat room
-description:
- - Send a message to jabber
-options:
- user:
- description:
- User as which to connect
- required: true
- password:
- description:
- password for user to connect
- required: true
- to:
- description:
- user ID or name of the room, when using room use a slash to indicate your nick.
- required: true
- msg:
- description:
- - The message body.
- required: true
- default: null
- host:
- description:
- host to connect, overrides user info
- required: false
- port:
- description:
- port to connect to, overrides default
- required: false
- default: 5222
- encoding:
- description:
- message encoding
- required: false
-
-# informational: requirements for nodes
-requirements: [ xmpp ]
-author: Brian Coca
-'''
-
-EXAMPLES = '''
-# send a message to a user
-- jabber: user=mybot@example.net
- password=secret
- to=friend@example.net
- msg="Ansible task finished"
-
-# send a message to a room
-- jabber: user=mybot@example.net
- password=secret
- to=mychaps@conference.example.net/ansiblebot
- msg="Ansible task finished"
-
-# send a message, specifying the host and port
-- jabber user=mybot@example.net
- host=talk.example.net
- port=5223
- password=secret
- to=mychaps@example.net
- msg="Ansible task finished"
-'''
-
-import os
-import re
-import time
-
-HAS_XMPP = True
-try:
- import xmpp
-except ImportError:
- HAS_XMPP = False
-
-def main():
-
- module = AnsibleModule(
- argument_spec=dict(
- user=dict(required=True),
- password=dict(required=True),
- to=dict(required=True),
- msg=dict(required=True),
- host=dict(required=False),
- port=dict(required=False,default=5222),
- encoding=dict(required=False),
- ),
- supports_check_mode=True
- )
-
- if not HAS_XMPP:
- module.fail_json(msg="xmpp is not installed")
-
- jid = xmpp.JID(module.params['user'])
- user = jid.getNode()
- server = jid.getDomain()
- port = module.params['port']
- password = module.params['password']
- try:
- to, nick = module.params['to'].split('/', 1)
- except ValueError:
- to, nick = module.params['to'], None
-
- if module.params['host']:
- host = module.params['host']
- else:
- host = server
- if module.params['encoding']:
- xmpp.simplexml.ENCODING = params['encoding']
-
- msg = xmpp.protocol.Message(body=module.params['msg'])
-
- try:
- conn=xmpp.Client(server)
- if not conn.connect(server=(host,port)):
- module.fail_json(rc=1, msg='Failed to connect to server: %s' % (server))
- if not conn.auth(user,password,'Ansible'):
- module.fail_json(rc=1, msg='Failed to authorize %s on: %s' % (user,server))
- # some old servers require this, also the sleep following send
- conn.sendInitPresence(requestRoster=0)
-
- if nick: # sending to room instead of user, need to join
- msg.setType('groupchat')
- msg.setTag('x', namespace='http://jabber.org/protocol/muc#user')
- conn.send(xmpp.Presence(to=module.params['to']))
- time.sleep(1)
- else:
- msg.setType('chat')
-
- msg.setTo(to)
- if not module.check_mode:
- conn.send(msg)
- time.sleep(1)
- conn.disconnect()
- except Exception, e:
- module.fail_json(msg="unable to send msg: %s" % e)
-
- module.exit_json(changed=False, to=to, user=user, msg=msg.getBody())
-
-# import module snippets
-from ansible.module_utils.basic import *
-main()