# (developers) Connection types (like paramiko, ssh, local, etc) are now pluggable modules

**URL:** <https://forum.ansible.com/t/developers-connection-types-like-paramiko-ssh-local-etc-are-now-pluggable-modules/11810>\
**Category:** Ansible Project\
**Created:** [August 18, 2012, 4:00pm UTC](https://forum.ansible.com/t/developers-connection-types-like-paramiko-ssh-local-etc-are-now-pluggable-modules/11810 "2012-08-18T16:00:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michael\_DeHaan](https://avatars.discourse-cdn.com/v4/letter/m/c4cdca/32.png) [@Michael\_DeHaan](https://forum.ansible.com/u/Michael_DeHaan)\
**Post date:** [August 18, 2012, 4:00pm UTC](https://forum.ansible.com/t/developers-connection-types-like-paramiko-ssh-local-etc-are-now-pluggable-modules/11810/1 "2012-08-18T16:00:28Z")

</div>

If you would like to create or modify a connection type, I'm now happy  
to say these are now pluggable modules in the latest 0.7 git version.

How this works -- make a module like paramiko\_ssh.py or ssh.py or  
local.py in the connections/ directory. Add your own module, name it  
anything like. Now you can use "-c your\_new\_name" to access that  
connection type.

This should allow easy addition of new connection types (if anyone  
wants to play around with hooking it to an actual ansible or laser or  
SNMP or message bus or telnet, etc) as well as modification of the  
existing low level transport code to suit your environment without  
modifying the core of ansible.

Just keep the API signature of the "Connection" class, and name your  
class Connection, and you should be good to go.

If you develop any new alternative connection types, let us know, as  
it may be a good fit for core, depending on what it is!

End users are completely unaffected by this -- it's just an  
API/internals upgrade.

--Michael
