Commit Graph

529 Commits (bf184b1a9245e71c5b6463d7eab4f69022886799)

Author SHA1 Message Date
Peter Sprygada bbcde06e75 added new functionality to vyos_command
* commands argument now accepts a dict arguments
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all
2016-12-08 11:24:53 -05:00
Peter Sprygada 003b6da05a add new functionality to iosxr_command module
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.
2016-12-08 11:24:53 -05:00
Peter Sprygada df972feb23 updates to vyos_config module arguments
* arguments for vyos_config for 2.2 are now complete
* adds loading config file from disk (src argument)
* removes unsupported rollback argument
* changes update_config to update with options merge or check
* changes backup_config to backup
* add state argument for state of configuration file
* adds backup argument to backup current configuration
* adds save argument to control if active config is saved to disk
* adds comment argument for setting commit comment
* adds match argument to control configuraiton match

Tested with VyOS 1.7
2016-12-08 11:24:52 -05:00
Gary Rybak e2d55d86e4 Move call to filter_exit out of command execution block to prevent setting 'changed' on a command list that is completely filtered (empty). 2016-12-08 11:24:52 -05:00
Peter Sprygada c98a906cf0 add new functionality to eos_command module
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.  Command and output are required arguments. Output
accepts valid values text and json.
2016-12-08 11:24:52 -05:00
Peter Sprygada 717af59c96 update eos_config with new arguments
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge, replace or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or without defaults
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead
2016-12-08 11:24:52 -05:00
Peter Sprygada 12fc073f91 fix example in nxos_command module 2016-12-08 11:24:52 -05:00
codyrat c4d5b13c8f re.match for numeric only for kwargs[key] = int(value) (#4495) 2016-12-08 11:24:52 -05:00
Peter Sprygada 619e3bba7e fixes issue with duplicated commands in CommandRunner
The CommandRunner will not allow duplicate commands to be added to the
command stack.  This fix will now catch the exception and continue if
a duplicate command is attempting to be added to the runner instance.
2016-12-08 11:24:52 -05:00
Peter Sprygada e09cfec2e9 added new functionality to nxos_command
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.  Command and output are required arguments. Output
accepts valid values text and json.
2016-12-08 11:24:51 -05:00
Peter Sprygada 543ec0f14e update nxos_config with new arguments
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or without defaults
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead
2016-12-08 11:24:51 -05:00
Peter Sprygada 525cd8b947 merge functions from ios into ios_config
* merge changes from ios shared module functions into ios_config.
* add src argument to provide path to config file
* add new choice to match used to ignore current running config
* add update argument with choices merge or check
* add backup argument to backup current running config to control host
* add defaults argument to control collection of config with or withoutdefaults
* add save argument to save current running config to startup config
* add state argument to control state of config file
* deprecated force argument, use match=none instead
2016-12-08 11:24:51 -05:00
Peter Sprygada aa79cdb7d9 added new functionality to ios_command
* commands argument now accepts a dict arguments[1]
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all

[1] The commands argument will now accept a dict argument that can
specifiy the output format of the command.  To specify a dict argument
use the form of { command: <str>, output: <str>, prompt: <str>,
response: <str> }.  Command and output are required arguments. Output
accepts valid values text and json.
2016-12-08 11:24:51 -05:00
Jason Edelman 4f09d6065f added a period 2016-12-08 11:24:51 -05:00
Jason Edelman 56d8146495 make aliases a list in the docstring 2016-12-08 11:24:51 -05:00
Jason Edelman 47164d70d3 remove commented out code, add alias, and doc 2016-12-08 11:24:51 -05:00
Jason Edelman b8ff21fb07 updated version_added for new param 2016-12-08 11:24:51 -05:00
Jason Edelman 5d033241af fixed error handling 2016-12-08 11:24:51 -05:00
Jason Edelman 5640711166 fixed docs 2016-12-08 11:24:51 -05:00
Jason Edelman 995083c0d9 improve functionality for vlan trunks based on #4082 2016-12-08 11:24:51 -05:00
Roman 7b547e3e0b get_url headers param values parsing (#4245) 2016-12-08 11:24:49 -05:00
Alvaro Aleman d9c28454ae Make ios_command example working 2016-12-08 11:24:48 -05:00
John R Barker 1357e7e83a ios & iosxr Documentation improvements (#4321) 2016-12-08 11:24:48 -05:00
John Barker ecc7e445b5 vyos: Docs fixes 2016-12-08 11:24:48 -05:00
John Barker d76a4e71c2 openswitch: Docs fixes 2016-12-08 11:24:48 -05:00
John Barker 3f8f67e359 NXOS Docs update 2016-12-08 11:24:48 -05:00
John Barker d4200b0389 junos: Docs update 2016-12-08 11:24:48 -05:00
Nathaniel Case 36ba105b91 Fix ios_config broken logic 2016-12-08 11:24:48 -05:00
John Barker 6ad7d6b3cd Cumulus - consistent docs formatting 2016-12-08 11:24:47 -05:00
Nathaniel Case 6857cea9e6 Quick fix to nxos_command and minify imports 2016-12-08 11:24:47 -05:00
Kevin Kirsche db03ebdfb9 Fix typo in "ssantaize" typo
ssantaize to santaize
2016-12-08 11:24:47 -05:00
John Barker 2b82389705 General EOS documentation improvements
Typos, formatting, choices.
2016-12-08 11:24:47 -05:00
John R Barker aa6a7d5789 State runnng v running
Fix typo
2016-12-08 11:24:46 -05:00
Rob Phoenix 6339398e7c various typo corrections to ios network modules 2016-12-08 11:24:46 -05:00
Peter Sprygada 42da47813b adds update_config argument to ios_config
New argument controls whether or not configuration is applied to the
remote device.
2016-12-08 11:24:44 -05:00
Peter Sprygada 4611e2b9ad initial add of new module vyos_config
New module for sending configuration commands to remote devices running
the VyOS operating system.
2016-12-08 11:24:44 -05:00
Peter Sprygada cff91c4c3b initial add of new module vyos_facts
* adds collection of default facts
* adds collection of configuration facts
* adds collection of lldp neighbors
2016-12-08 11:24:44 -05:00
Peter Sprygada 92ac734e13 initial commit of vyos_command module
This adds a new module, vyos_command for sending CLI commands to remote
devices running VyOS operating system.
2016-12-08 11:24:44 -05:00
Peter Sprygada 25294f40c8 bug fix in ios_config module for handling config contents
Config contents when passed via argument were returning a string but
the module expects an instance of NetworkConfig.  This fixes that
problem.
2016-12-08 11:24:44 -05:00
Peter Sprygada 43ba7f3b3b removes unneeded check_args function from ios_command
The module would raise a KeyError trying to find the save_config key
which is not present in the argument_spec.  This was caused by the
check_args() function.  Since the ios shared argument spec isn't used
the check_args function is not needed and has been removed.
2016-12-08 11:24:43 -05:00
Peter Sprygada 438b9328ea fixup ios_template module to use NetworkModule
This removes the get_module() factory function and directly creates
an instance of NetworkModule.  This commit includes some minor clean
up to transition to the ios shared module for 2.2
2016-12-08 11:24:43 -05:00
Peter Sprygada 66268dd3ec fix up ios_command to use NetworkModule
* using check mode will now block all commands except show commands
* module will no longer allow config mode commands
* check args for unused values and issue warning
2016-12-08 11:24:43 -05:00
Peter Sprygada 5fe848fca2 refactor ios_config for network module
This refactors the ios_config module to use the network module added
in 2.2 to simplify common network functions

new features

* add src, dest arguments for working with config
* results now return flag if the config was saved or not
* adds append argument for updating the dest file (when dest is used)
2016-12-08 11:24:42 -05:00
Peter Sprygada 28a701128d update ios_facts module to use NetworkModule
minor update to ios_facts to remove get_module() in favor of NetworkModule
2016-12-08 11:24:42 -05:00
Stian Vikan 714ced8e1c Fixed delete statement for juniper_config.py #4007 #3984 2016-12-08 11:24:40 -05:00
Peter Sprygada b0bdf09a00 refactor ios_command to use CommandRunner class
* fixes running commands in check mode.  now only show commands are allowd
* renamed waitfor to wait_for with alias to waitfor for consistency
2016-12-08 11:24:40 -05:00
Peter Sprygada 622592c413 refactor the eos_command module to use the CommandRunner
* This adds support the CommandRunner to handle executing commands on
the remote device.
* It also changes the waitfor argument to wait_for to remain compatable
with other modules and adds an alias for waitfor.
* Restricts commands to show commands only when check mode is specified.
* add version_added to wait_for doc string
2016-12-08 11:24:39 -05:00
Peter Sprygada a522c2d99f initial add of ios_facts module
This adds the new module ios_facts for collect fact information from
ios devices
2016-12-08 11:24:39 -05:00
Brian Coca 01490688f4 document that get_url also takes file params
has for a long time, but was never documented, mode,group, owner can all be set here
2016-12-08 11:24:37 -05:00
Brian Coca 34b94ec4c4 Revert "Add mode option to the list" (#3946) 2016-12-08 11:24:37 -05:00
Victor Bocharsky 6037684d23 Add mode option to docstring for get_url (#3630)
Add mode option to the list
2016-12-08 11:24:37 -05:00
jctanner 48f096b52c Use the six import for urlsplit instead of importing directly. (#3902)
Fixes https://github.com/ansible/ansible/issues/16191
2016-12-08 11:24:36 -05:00
Peter Sprygada d8cb09a121 removes requirement for config argument to be specified in junos_facts
The config argument is optional and should not be required.  This
removes the required attribute from the config argument.

fixes #3878
2016-12-08 11:24:36 -05:00
Toshio Kuratomi 79d12db02f Fix the six import 2016-12-08 11:24:35 -05:00
Toshio Kuratomi 8ba0af5df3 Be sure to import urllib.parse from somewhere 2016-12-08 11:24:35 -05:00
Gabriele 1977b42956 Fixing bug, added missing param (#3737) 2016-12-08 11:24:31 -05:00
Wolfgang Powisch 20d9c0c484 Update junos_facts.py (#3759) 2016-12-08 11:24:31 -05:00
Michael Scherer c0217e14a7 Convert the network subfolder to py3/py2.4 syntax (#3690) 2016-12-08 11:24:29 -05:00
Mike Bryant 0027158b74 junos_template: Simplify arguments. Fixes #3621
Simplify the arguments to junos_template, such that
merge/overwrite/replace can be selected easily.
2016-12-08 11:24:29 -05:00
Kei Nohguchi d738ad0ee0 ops_template.py: Change integer key into stirng
This fix passing the update variable to the str()
so that it avoids the exception when ops.dc.read()
returns a dictionary which contains non-string keys.

This is due to the fact that some of the key types in
OpenSwitch schema are actually defined as integer
and ops.dc declerative config module encode those
in integer inside the dictionary.  This could be
the right encoding from the schema point of view
but someone needs to convert it to the string
somewhere, as JSON key should be string.
2016-12-08 11:24:29 -05:00
Michael Scherer abfc8d36a8 Add a test on jnpr.junos.utils.sw presence (#3666) 2016-12-08 11:24:28 -05:00
Toshio Kuratomi 291e00d43a Docs fixes 2016-12-08 11:24:28 -05:00
Brian Coca ca7defeee5 made note about slurp memory consumption 2016-12-08 11:24:27 -05:00
Johannes Meixner af634ff5c7 network/*/*_config.py: Correct typo.
- Replace syntanx with syntax in all things network.
2016-12-08 11:24:27 -05:00
Scott Butler e606a1237b Fixed typos 2016-12-08 11:24:27 -05:00
John R Barker d13046a905 ansible-validate-modules part 4: Enable check on ansible-modules-core (#3526)
* Call ansible-validate-modules

* Correct quotes + add newline
2016-12-08 11:24:26 -05:00
Peter Sprygada bf200458d3 fixes docstring issue for junos_config arguments
The docstring was incorrectly merged with some old entries that will
cause the documentation not to build correclty.  It is now fixed.
2016-12-08 11:24:24 -05:00
jedelman8 28db5b7dd1 add nxos_interface 2016-12-08 11:24:24 -05:00
James Cammarata 124c4b94c1 Remove extraneous debug stuff from uri module left over from testing 2016-12-08 11:24:23 -05:00
James Cammarata 50cd8b0aa5 Make sure uri output contains json output when a non-200 status is returned
Prior to the switch to the urls.py code, non-200 responses contained
a 'json' value when the content-type was JSON. This fix restores that
field upon a non-2xx response.

Fixes ansible/ansible#15555
2016-12-08 11:24:23 -05:00
Nathaniel Case 75dbe9f1e8 Remove unnecessary exception from nxos_command (#3521) 2016-12-08 11:24:23 -05:00
Peter Sprygada 8729bcde3f adds new module junos_package
the new module allows playbook designers to manage packages on remote
devices running junos.
2016-12-08 11:24:22 -05:00
Peter Sprygada ef794d95e5 adds new module ops_facts
This adds a new module for collect device facts from remote devices
running OpenSwitch.  This module is useful when collecting fact information
over CLI transport.
2016-12-08 11:24:22 -05:00
GGabriele b375f61d2b Fixed doc 2016-12-08 11:24:22 -05:00
GGabriele 9aeaa70e32 Changed module name to nxos_facts 2016-12-08 11:24:22 -05:00
GGabriele 693f7c938e Fixing bugs 2016-12-08 11:24:22 -05:00
GGabriele 84ecc21677 Adding nxos_ip_interface 2016-12-08 11:24:22 -05:00
GGabriele 02744e7cab Adding nxos_vrrp 2016-12-08 11:24:22 -05:00
GGabriele f4fd69bcff Adding nxos_ping 2016-12-08 11:24:22 -05:00
jedelman8 be91a5622a fix index for portchannel 2016-12-08 11:24:22 -05:00
GGabriele 10238bbb06 fix conditional for py24 2016-12-08 11:24:22 -05:00
jedelman8 cda210c3f9 fix docstring 2016-12-08 11:24:22 -05:00
jedelman8 ad9ede5d4c force travis build 2016-12-08 11:24:21 -05:00
jedelman8 89aabffee8 minor test 2016-12-08 11:24:21 -05:00
jedelman8 01b8f7db5e update return doc string 2016-12-08 11:24:21 -05:00
GGabriele 66eea14df2 Fixed RETURN string 2016-12-08 11:24:21 -05:00
GGabriele 0798968596 Fixed RETURN string and added notes 2016-12-08 11:24:21 -05:00
GGabriele 97577df048 Fixing nxos_vrf 2016-12-08 11:24:21 -05:00
GGabriele 62b0b48f58 Adding nxos_vrf_interface 2016-12-08 11:24:21 -05:00
GGabriele 2c43f6b35c Adding nxos_vrf 2016-12-08 11:24:21 -05:00
GGabriele b4d69262ed Adding nxos_get_facts 2016-12-08 11:24:21 -05:00
GGabriele 95992b91bd Addng nxos_feature 2016-12-08 11:24:21 -05:00
jedelman8 6ae109630e add nxos_vlan 2016-12-08 11:24:21 -05:00
jedelman8 5ef3a6430a add nxos_switchport 2016-12-08 11:24:21 -05:00
Peter Sprygada a9b664c796 add support for netconf to junos_config
The junos_config module now supports the netconf transport.
2016-12-08 11:24:21 -05:00
Peter Sprygada abb008dca7 fixes docstring format in junos_command 2016-12-08 11:24:21 -05:00
Peter Sprygada 89ebc8b066 adds config_format argument to the facts module
this change adds config_format argument with choices of xml, set or text to
specify the desired format of the config returned from the remote device.  The
default value is text
2016-12-08 11:24:21 -05:00
Peter Sprygada 9d521aa7e0 Merge pull request #9 from dgarros/junos_modules
Add support for xml, set and text format for config
2016-12-08 11:24:21 -05:00
Peter Sprygada 1985115e55 adds new module junos_netconf used for configuring netconf services
This module allows playbook operators to configure the netconf service in
junos for use with other juniper modules.
2016-12-08 11:24:20 -05:00
Peter Sprygada 2072922875 adds new junos_facts module
The junos_facts module will collect basic system inforamtion about remote
devices running the Junos operating system
2016-12-08 11:24:20 -05:00
Peter Sprygada 871e586ce3 add support for netconf to junos_template
This commit adds support for sending full syntanx junos configurations using
junos_template and netconf
2016-12-08 11:24:20 -05:00
Peter Sprygada 923974e3c0 add support to junos_command module for netconf transport
This adds support for using netconf to the junos_command option and removes
the use of cli as a transport
2016-12-08 11:24:20 -05:00
jctanner 56f5ca37af Fix status check on get_url with file schemas and update the examples. (#3512)
Addresses #3511
2016-12-08 11:24:20 -05:00
Brian Coca 34a3bc043a removed usless default doc 2016-12-08 11:24:19 -05:00
Justin Kennedy ab4b8e0847 Updating examples to include required fields (#3242)
Updated examples to include required fields (host, username).  Also updated src option to be listed as required.
2016-12-08 11:24:19 -05:00
Kei Nohguchi fc5ade4020 ops_template.py: Taking care of the JSON src variable (#3313)
* ops_template.py: Taking care of the JSON src variable

* ops_template.py: Specify type='str' for src argument to be explicit
2016-12-08 11:24:18 -05:00
Patrick Ogenstad d4d86b4bc6 Fix documentation example, missing ")" 2016-12-08 11:24:18 -05:00
John Barker d531eb146d Replace BOOLEANS with true/false 2016-12-08 11:24:17 -05:00
Peter Sprygada ef8b59f430 handles config replace properly in eos_template
fixes 3366
2016-12-08 11:24:16 -05:00
Peter Sprygada 8210ede9b4 refactor iosxr_template module to remove old diff functions
this replaces the old diff functions with the netcfg shared module for
handling configuration diffs between running and candidate
2016-12-08 11:24:16 -05:00
Peter Sprygada bba38d2cf8 refactor iosxr_config module to remove old diff functions
this replaces the old diff functions with the netcfg lib for handling
configuration diffs between running and candidate configurations
2016-12-08 11:24:16 -05:00
Peter Sprygada c2c8d51ba2 cleanup iosxr_command module to be consistent with other network modules
this cleans up some of the function calls and output keys to be consistent
with other command modules
2016-12-08 11:24:15 -05:00
Peter Sprygada 834bc225c9 refactors nxos_template and removes diff functions
replaces the diff functions with the netcfg shared module for handling
configuration diff
2016-12-08 11:24:15 -05:00
Peter Sprygada 5a61909b4a refactors nxos_config and removes diff functions
this refactors the nxos_config module removing the diff functions and
replacing with the netcfg shared module
2016-12-08 11:24:15 -05:00
Peter Sprygada 19119a2759 cleans up nxos_command and adds some additonal info on exception
This cleans up some of the nxos_command module code function names to
be more consistent and adds additional information of failures
2016-12-08 11:24:15 -05:00
Peter Sprygada a4bb4ee146 refactors eos_template to remove diff functions
replaces functions with netcfg shared library for handling configuration
diffs
2016-12-08 11:24:15 -05:00
Peter Sprygada f77bb0ac28 refactors eos_config to remove config diff functions
replaces with netcfg shared library for handling configuration diffs
2016-12-08 11:24:15 -05:00
Peter Sprygada 006c11cf34 refactors the ios_template module to use netcfg diff
removes the functions for performing configuration diffs to use the
netcfg shared lib
2016-12-08 11:24:15 -05:00
Peter Sprygada ff928d0829 refactor ios_config to use netcfg diff shared lib
Move the configuration diff code from the module to the shared lib
2016-12-08 11:24:15 -05:00
Toshio Kuratomi 6fae6c7b2d Give headers a default so that we can add to it. 2016-12-08 11:24:14 -05:00
Peter Sprygada 11cd361d80 fixes #3274 2016-12-08 11:24:13 -05:00
Toshio Kuratomi 4c9f9973dd If file attribs are specified set them even if file already exists.
Fixes #11821
2016-12-08 11:24:13 -05:00
Peter Sprygada e01dd7facc update to nxos_command with additional exception handling
This update adds exception handling to catch errors when trying to parse
command output to json.  It also removes the dependency on importing json
opting to use the AnsibleModule methods instead
2016-12-08 11:24:12 -05:00
Peter Sprygada ae9930f59f doc string fixes for eos_config
This updates eos_config with some fixes to the documentation string
2016-12-08 11:24:12 -05:00
Peter Sprygada ed2d46bc9e bugfix in eos_template for backing up config
eos_template would connect to the remote device to get the running config
for backup even if backup is not needed.
2016-12-08 11:24:12 -05:00
Peter Sprygada 12bb95b943 minor function clean ups in eos_command
This commit cleans up a couple of functions and removes the json
import to use the json methods from AnsibleModule
2016-12-08 11:24:12 -05:00
jrk07 ca86923eb7 Doc Update: ios_template.py title and example
ios_template.py was named ios_config when viewing docs.  The examples also had net_config still.  Updated those here.
2016-12-08 11:24:12 -05:00
Peter Sprygada 1fd5989b9d initial add of ops_command module
This commit adds a new module, ops_command, that handles executing commands
on OpenSwitch over the CLI.  Since this module is designed to work with the
OpenSwitch CLI, it only supports the CLI transport option
2016-12-08 11:24:11 -05:00
Peter Sprygada 9488617d19 initial add of ops_config module
This commit adds a new module, ops_config, that allows playbook designers
to create tasks for configuring OpenSwitch over the CLI.  The module
is designed to work directly with configuration mode in OpenSwitch and
therefore only supports the CLI transport option
2016-12-08 11:24:11 -05:00
Peter Sprygada ba41260ae0 bugfix for ios_config module
This commit address a bug in the ios_config module when using the
match: strict argument.  When the argument is used, the module will
compare the configuration block same as match: exact which is not the
intended behavior.  This commit updates the behavior to propertly handle
the strict argument.
2016-12-08 11:24:11 -05:00
Peter Sprygada 761724f5c3 bugfix for handling match=strict in eos_config
Resolves an issue where match=strict would act like match=exact when
evaluating the configuration
2016-12-08 11:24:11 -05:00
Peter Sprygada 7cd3793128 bugfix for handling match=strict in iosxr_config
Resolves an issue where match=strict would act like match=exact when
evaluating the configuration
2016-12-08 11:24:11 -05:00
Peter Sprygada b0a9308e0d bugfix for handling match=strict in nxos_config
Resolves an issue where match=strict would act like match=exact when
evaluating the configuration
2016-12-08 11:24:11 -05:00
Matt Martz fe22ee9423 Don't pass follow_redirects to fetch_url, use module.params instead 2016-12-08 11:24:10 -05:00
moyashiki 96ce498b77 Fix ios_command fix
This is not valid YAML commands. So fix it.
2016-12-08 11:24:10 -05:00
Sam Wilson 0bd95d0f2d Fixed BOOLEANS rendering in docsite 2016-12-08 11:24:10 -05:00
Peter Sprygada 1f4625938e refactor arguments in ops_template
This commit refactors the arugments used in ops_template to be strictly
typed and handle by declarative / rest and cli based configurations.  It
also removes old arguments not supported and cleans up the documentation
strings
2016-12-08 11:24:10 -05:00
Gary Rybak 5ff79d0596 Add filter to eos_template to remove configuration mode command followed immediately by an exit command indented one level. 2016-12-08 11:24:09 -05:00
Toshio Kuratomi 9551e51607 At least for now, set body to raw as it can be either a dict or jsonified-str
Since our validation does conversion as well as validation, I'm not sure
this is entirely correct.  May need to take a look at our conversion
code and re-examine to be sure we're doing it right.
2016-12-08 11:24:08 -05:00
Toshio Kuratomi 0400efa3f8 Change parameter to type=path
Read as binary for python3 preparedness
2016-12-08 11:24:08 -05:00
Michael Scherer 776d079e6b Fix non RFC 2606 domain name in doc 2016-12-08 11:24:08 -05:00
Peter Sprygada 24fc4dbeab fixes issue with return docstring
This commit fixes an issue with the return doc string.  The old line
was removed that would prevent the docs form being built correctly
2016-12-08 11:24:08 -05:00
Matt Martz fada638d88 Indicate in notes that the dependency on httplib2 was removed for v2.1 2016-12-08 11:24:07 -05:00
Matt Martz a18206355a Drop dependency on httplib2 in the uri module, instead using ansible.module_utils.urls 2016-12-08 11:24:07 -05:00
Peter Sprygada 0b49f956ce minor bugfixes for junos_config return values
The junos_config now properly returns updates and reponses
2016-12-08 11:24:07 -05:00
Peter Sprygada 025bc70acd initial add of ops_template module
This adds a new module ops_template used for configuring OpenSwitch
using local declarative config modules
2016-12-08 11:24:06 -05:00
Peter Sprygada 0f7279b967 bugfix for missing function name in ios_command
This provides a minor bugfix for a missing function name in the ios_command
network module
2016-12-08 11:24:06 -05:00
Matt Martz aaf762573e Various simple linting type cleanups on modules 2016-12-08 11:24:06 -05:00
Peter Sprygada 06e3899860 initial add of iosxr_config module
This adds a new module, iosxr_config, that can be used for configuring
Cisco IOS XR devices.  It is provides a set of arguments for sending
configuration commands to the device over cli
2016-12-08 11:24:06 -05:00
Peter Sprygada 5725472cc6 initial add of iosxr_template module
This adds a new module, iosxr_template, that can be used to template
configurations for IOS XR devices.  Templates are then loaded into the
target device over cli
2016-12-08 11:24:06 -05:00
Peter Sprygada 671184adc4 initial add of iosxr_command module
This adds a new module, iosxr_command, that can be used to issue
commands to devices running IOS XR.  Commands are run on the
target device over cli
2016-12-08 11:24:06 -05:00
Peter Sprygada 4f4bc9ed5c update junos_command module return values
This minor update fixes the return values from the junos_command module
to be consistent with other network modules
2016-12-08 11:24:06 -05:00
Peter Sprygada 13793d7b95 update ios_command module return values
This minor change updates the return values and doc string for the
ios_command module to be consistent with other network modules
2016-12-08 11:24:05 -05:00
Peter Sprygada ca9be1d62c add init to network/cumulus and reset module attrs
The modules were merged in without an __init__.py.  This adds the module
iniit and resets all of the module attrs to 0644
2016-12-08 11:24:05 -05:00
Peter Sprygada c98ba21f45 add package init to junos/ 2016-12-08 11:24:05 -05:00
Brian Coca 5b07831a11 fixes for uri module
- clarify docs on body_json behaviour
- only tranform into json if body input is not a string
  users keep passing json string and expecint it to not be jsonified again
- fixed issue with removes not handling path expansion correctly
- switched all path variables to 'type path' to handle expansions
2016-12-08 11:24:05 -05:00
Peter Sprygada 0310363a22 initial add of junos_config module
This adds a new module, junos_config, useed to configure Juniper JUNOS based
devices.  The config module can be used to set an ordered set of set and
delete statements over a cli transport
2016-12-08 11:24:05 -05:00
chouseknecht a5fe046f90 Add ios_commnand module. 2016-12-08 11:24:05 -05:00
chouseknecht be2a50547e Moved Conditional class to netcfg. 2016-12-08 11:24:05 -05:00
Peter Sprygada ab210862f0 initial add of junos_template
This adds a new module, junos_template, that can read in a template
config and push the changes to the device.  It can also backup the
current config.  This module is implemented over cli
2016-12-08 11:24:05 -05:00
Peter Sprygada fb7d5e798c initial add of junos_command module
This adds a new module, junos_command that can be used for sending commands
to Juniper JUNOS based devices.   The junos_command module is implemented
over a cli transport
2016-12-08 11:24:05 -05:00
Peter Sprygada 8303eadff1 update eos_config doc string and return values
This change update the return values from eos_config to be consistent with
all network config modules.  This will now return updates and responses
from the module
2016-12-08 11:24:04 -05:00
Peter Sprygada eb5f9c216b update eos_template doc string and return values
This updates the return values form eos_template to be consistent
across all template modules.  This change now returns updates and
respones
2016-12-08 11:24:04 -05:00
Peter Sprygada 279ca048ae update eos_command doc strings and return values
This change updates the returns values from eos_command to be consistent
with network modules. It now returns stdout, stdout_lines and failed_conditionals
2016-12-08 11:24:04 -05:00
Peter Sprygada 79b50f5cf8 update nxos_config doc strings and return values
This commit unifys the return values for the nxos_config module to always
return updates and responses
2016-12-08 11:24:04 -05:00
Peter Sprygada 4873e8ab12 update nxos_template doc strings and return values
This updates the nxos_template doc string to unify the return values
across all network modules.  This change now returns stdout, stdout_lines
and failed_conditionals
2016-12-08 11:24:04 -05:00
Peter Sprygada 00d3e33dbf update nxos_command doc strings and return values
This modifies the return values to make them consistent across all
network command modules.  The module now returns stdout, stdout_lines
and failed_conditionals
2016-12-08 11:24:04 -05:00
Peter Sprygada 25d724a88d update ios_template doc strings and return values
Sets the return values from ios_template to be consistent with the rest
of the network modules.  Return values are now updates and responses
2016-12-08 11:24:04 -05:00
Peter Sprygada d33b840ec6 update ios_config doc strings and return values
This changes the return values to be consistent across all network
config modules. The return values are now updates and responses
2016-12-08 11:24:04 -05:00
chouseknecht c690b318da Adding nxos_nxapi module. 2016-12-08 11:24:03 -05:00
Michal Svab 0676ecc03c Clarify get_url timeout documentation 2016-12-08 11:24:03 -05:00
chouseknecht e66a74531f Adding eos_eapi module. 2016-12-08 11:24:03 -05:00
Peter Sprygada bc9aacd832 bug fix for eos_config module
This addresses a bug in the eos_config module that would prevent it
from running properly.  The module should now properly process the config
and the candidate
2016-12-08 11:24:03 -05:00
Peter Sprygada c5255a1d9e initial add of ios_template module
This adds a new module for working with IOS devices and building configurations
using templates.
2016-12-08 11:24:03 -05:00
Peter Sprygada 69ab2e8909 initial add of ios_config module
This adds a new module ios_config that can be used for configuring
IOS devices.
2016-12-08 11:24:03 -05:00
Peter Sprygada cca8a24d7e bug fix on parameter in eos_config
The eos_config module has a bug where its trying to pass an argument
that doesn't exist.  This fixes that problem, removing the offending
keywork argment
2016-12-08 11:24:03 -05:00
Peter Sprygada 7700ec1f4c fixup docstring in nxos_config module 2016-12-08 11:24:03 -05:00
Peter Sprygada 9a90721720 initial add of new module eos_template
The eos_template module works by allowing configurations to be pushed
to Arista EOS devices that can be templated by the Ansible Jinja2
template engine
2016-12-08 11:24:02 -05:00
Peter Sprygada 022bcbd9e8 initial add of nxos_template module
The nxos_template module worksw by allowing configurations to be pushed
to Cisco NXOS devices over CLI or NXAPI and templated using the Ansible
Jinja2 template engine
2016-12-08 11:24:02 -05:00
Barry Peddycord III 7f86da31b9 Removing alpha-stage modules. 2016-12-08 11:24:02 -05:00
Peter Sprygada 029786a4c5 initial add of new module nxos_command
This adds a new module nxos_command that can be used to send arbitrary
commands to NXOS devices.  The module includes an argument that allows
the responses to be evaluated and causes the module not to return
control to the playbook until a set of conditions has been met.
2016-12-08 11:24:02 -05:00
Scott Suehle d9a071089b Adding files to ansible core modules. 2016-12-08 11:24:02 -05:00
Peter Sprygada d3b826dda2 initial add of eos_command module
This adds a new module eos_command to network/eos.  The eos_command module
is used for sending arbitrary commands to Arista EOS devices.  It includes
arguments that allow the module to wait for specific values before the
module returns control to the playbook or fails
2016-12-08 11:24:02 -05:00
Peter Sprygada ad7704c802 initial add of eos_config module
This adds a new module for pushing configuraitons to eos devices in a
reliable and repeatable fashion.  It includes support for templating
configurations and backing up the current config prior to pushing out
changes.  This module works over either CLI or EAPI.

This PR has a dependency on ansible/ansible PR #14009 being merged
2016-12-08 11:24:02 -05:00
Peter Sprygada 97f666d58d initial add of new nxos_config module
This adds a new module for managing configuraiton files for Cisco NXOS
devices.  It provides configuration file management including templating
and backing up the current configuration.

This PR has a dependency on ansible/ansible PR # 14012
2016-12-08 11:24:02 -05:00
techraf 7d09792758 Added 'backup' parameter to get_url module 2016-12-08 11:24:00 -05:00
Brian Coca 42d0ce8744 corrected version_added for new temp_dest feature 2016-12-08 11:23:50 -05:00
cspollar 7ac010977b Fixed typo in uri module example 2016-12-08 11:23:50 -05:00
sysadmin75 12c2c2b436 Adds tmp_dest option to get_url module. Addresses the issue in ansible/ansible#9512 2016-12-08 11:23:45 -05:00
Toshio Kuratomi f6353a548c Document and return an error if httplib2 >= 0.7 is not present. We
can't use httplib2 0.6.x and below because they do not verify TLS
certificates and thus are insecure.

Fixes #1875
2016-12-08 11:23:44 -05:00
Toshio Kuratomi d5f3ac2a1d Remove debugging 2016-12-08 11:23:41 -05:00
Toshio Kuratomi 931fa9b6b2 xmlcharrefreplace is only for encoding, not for decoding :-( 2016-12-08 11:23:41 -05:00
Brian Coca 0540769677 specified that uri must be uppercase 2016-12-08 11:23:41 -05:00
Brian Coca 5b1a508d6a restored quotes to checksum description to avoid breaking docs 2016-12-08 11:23:39 -05:00
muszynski@so1.net 2e3ad2b80a description for the get_url module describing checksum verification before file download 2016-12-08 11:23:39 -05:00
Sam Mingo 75473c0fd0 Update get_url.py
Fixed typo with header parameter to get_url in the documentation.
2016-12-08 11:23:35 -05:00
Colin Hutchinson 9d77cef5be Remove the sample SHA256
putting a full sha256 made the width of the table in the generated docs not fit on some screens
2016-12-08 11:23:34 -05:00
Toshio Kuratomi 1f9580f257 Quote checksum description to fix docs 2016-12-08 11:23:30 -05:00
muffl0n 6482d1344a Allow additional hashing algorithms. Directly use hashlib and check if used algorithm is supported. 2016-12-08 11:23:28 -05:00
Brian Coca 3b94910d4e minor doc fixes to get_url 2016-12-08 11:23:26 -05:00
Brian Coca e5fe763474 fixed version added 2016-12-08 11:23:26 -05:00
Dan 5b4e7c797f Added header support
Added the ability to pass custom http headers to the fetch_url method.
2016-12-08 11:23:25 -05:00
Brian Coca f15ce1433a added version_added to body_format in uri 2016-12-08 11:23:25 -05:00
Brian Coca 87c8d016dc added version_Added to get_url's force_basic_auth 2016-12-08 11:23:22 -05:00
Iiro Uusitalo d6fc0ac5be uri.py is not using module_utils/urls.py from ansible core 2016-12-08 11:23:21 -05:00
Hennadiy (Gena) Verkh 098126807d Update uri.py
Added methods 'TRACE', 'CONNECT' from https://www.rfc-editor.org/rfc/rfc2616.txt, section 5.1.1
Added method 'REFRESH'
2016-12-08 11:23:19 -05:00
Hennadiy (Gena) Verkh 852c232b2d Removed method restriction in uri module 2016-12-08 11:23:19 -05:00
Iiro Uusitalo b92dabb9fb Refactor force basic auth, now all modules which use fetch_url() can use force_basic_auth 2016-12-08 11:23:19 -05:00
James Meickle 8197d7e640 Change uri debug example 2016-12-08 11:23:15 -05:00
Annika Backstrom 6b2c89a422 Force redownload if sha256sum does not match 2016-12-08 11:23:13 -05:00
Toshio Kuratomi 5118d0e3b1 Add note about redirects proxies
Fixes #1574
2016-12-08 11:23:12 -05:00
Toshio Kuratomi 2e7dcf3317 Small cleanups. * Import url(lib|parse|lib2) if needed by the module rather than relying on module_utils.urls to do so. * Remove stdlib modules from requirements * Use the if __name__ conditional for invoking main() 2016-12-08 11:23:11 -05:00
murdochr aae140e6cd Change docs to reflect correct when syntax for matching variable strings as per MD's forum post as this fails with unhelpful error otherwise.
https://groups.google.com/forum/#!topic/ansible-project/D2hQzZ_jNuM
2016-12-08 11:23:11 -05:00
Greg DeKoenigsberg eb881d7d5d Proper author info for all remaining modules 2016-12-08 11:23:07 -05:00
Toshio Kuratomi b6257f73b4 Properly flip default for verifying server cert. Add nice error messages when the cert is invalid 2016-12-08 11:23:02 -05:00
Toshio Kuratomi a4497a7ddf Change uri module to validate ssl certs by default 2016-12-08 11:23:02 -05:00
whiter 8ee2102993 Doc update to highlight use of body_type parameter 2016-12-08 11:23:02 -05:00
Toshio Kuratomi 9eac68b417 Fix problem writing binary content to a temporary file in the uri module.
Fixes https://github.com/ansible/ansible/issues/10938
Fixes https://github.com/ansible/ansible/issues/7606
2016-12-08 11:23:00 -05:00
Schmitt Christian cc71372182 Removed the wrong Note
Currently as already in the description, this module works with proxy settings.
2016-12-08 11:22:54 -05:00
Sébastien Bocahu f88f895795 Removes YAML body_format option
It would require adding a dependency to the YAML module while it might
not provide much benefit (has anybody seen a HTTP API taking YAML as
input ?)
2016-12-08 11:22:51 -05:00
Sébastien Bocahu 4af3b60167 Add body_format for handling of JSON and YAML body
body_format is a new optional argument that enables handling of JSON or
YAML serialization format for the body argument.
When set to either 'json' or 'yaml', the body argument can be a dict or list.
The body will be encoded, and the Content-Type HTTP header will be set,
accordingly to the body_format argument.

Example:

- name: Facette - Create memory graph
  uri:
    method: POST
    url: http://facette/api/v1/library/graphs
    status_code: 201
    body_format: json
    body:
      name: "{{ ansible_fqdn }} - Memory usage"
      attributes:
        Source": "{{ ansible_fqdn }}"
        link: "1947a490-8ac6-4bf2-47c1-ff74272f8b32"
2016-12-08 11:22:51 -05:00
zitterbacke 264a16d822 fix uri modul for JSON-escape quotation marks
consider the following response body (content) of a REST/JSON webservice containing escaped quotation marks:

```json
{ "key": "\"works\"" }
```

decoding this string not as raw will lose the backslash as JSON escape. later json.loads will fail to parse.

Inspired by [this thread](https://groups.google.com/forum/#!topic/ansible-project/kymtiloDme4) on the mailing list and the following python shell code:

```python
import json
string=r'{ "key": "\"works\"" }'
json.loads(string)
json.loads(string.decode('raw_unicode_escape'))
json.loads(string.decode('unicode_escape'))
```
2016-12-08 11:22:47 -05:00
Dan Rue d3c686d632 Do not mark "skipped" when changed is false
When using the "creates" option with the uri module, set changed
to False if the file already exists. This behavior is consistent with
other modules which use "creates", such as command and shell.
2016-12-08 11:22:43 -05:00
Toshio Kuratomi 104b2d684c Add text/json as a mimetype to try deserializing
Fixes #503
2016-12-08 11:22:33 -05:00
Toshio Kuratomi 34d65647bf Move from md5 to sha1 to work on FIPS-140 enabled systems 2016-12-08 11:22:25 -05:00
Michael DeHaan 677ed39cb4 Renames. 2016-12-08 11:22:25 -05:00
Michael DeHaan ef2a2b9093 package files 2016-12-08 11:22:22 -05:00
Michael DeHaan 213e518165 file extensions! 2016-12-08 11:22:22 -05:00
Michael DeHaan c7eec45b73 Restructuring. 2016-12-08 11:22:22 -05:00