* allow shells to have per host options, remote_tmp
added language to shell
removed module lang setting from general as plugins have it now
use get to avoid bad powershell plugin
more resilient tmp discovery, fall back to `pwd`
add shell to docs
fixed options for when frags are only options
added shell set ops in t_e and fixed option frags
normalize tmp dir usag4e
- pass tmpdir/tmp/temp options as env var to commands, making it default for tempfile
- adjusted ansiballz tmpdir
- default local tempfile usage to the configured local tmp
- set env temp in action
add options to powershell
shift temporary to internal envvar/params
ensure tempdir is set if we pass var
ensure basic and url use expected tempdir
ensure localhost uses local tmp
give /var/tmp priority, less perms issues
more consistent tempfile mgmt for ansiballz
made async_dir configurable
better action handling, allow for finally rm tmp
fixed tmp issue and no more tempdir in ballz
hostvarize world readable and admin users
always set shell tempdir
added comment to discourage use of exception/flow control
* Mostly revert expand_user as it's not quite working.
This was an additional feature anyhow.
Kept the use of pwd as a fallback but moved it to a second ssh
connection. This is not optimal but getting that to work in a single
ssh connection was part of the problem holding this up.
(cherry picked from commit 395b714120522f15e4c90a346f5e8e8d79213aca)
* fixed script and other action plugins
ensure tmpdir deletion
allow for connections that don't support new options (legacy, 3rd party)
fixed tests
* port elb_classic_facts to boto3
update module to use AnsibleAWSModule
* Add RETURN docs for elb_classic_lb_facts
* Remove superfluous exception handling around connection
Fix exit_json call and RETURN docs
* Add validation for the next to last line of a module
* Fix last error code
* Reduce to a single conditional
* Fix conditionals
* Move the final warnings statement to main() in mysql_replication
oVirt modules support environment variables to be passed as
authentication details for connection. But ovirt_auth doesn't support
it. This patch add support for it.
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
* updates to azure_rm_sqlserver_facts
Currently the ManageIQ API does not support azure_tenant_id but
this is in the process of being fixed. This commit changes
the recently-committed parameter to allow for the upcoming change.
This patch is primarily a refactor to make the validate-modules arg-spec
no longer generate a traceback. It additionally includes removal of deprecated
code in the virtual server module.
The main patch is to remove the traceback generating code. There are
other small fixes that were made in addition to doing that.
* Removed re-def of cleanup_tokens.
* Changed parameter args to be keywords.
* Changed imports to include new module_util locations.
* Imports also include developing (sideband) module_util locations.
* Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries.
* Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils.
* Changed module and module param references to take into account the new self.module arg.
* Minor bug fixes made during this refactor.
The main purpose of this patch is to do the refactor that
supports replacing tracebacks with fail_json. Additionally, the
following was done.
* Removed re-def of cleanup_tokens.
* Changed parameter args to be keywords.
* Changed imports to include new module_util locations.
* Imports also include developing (sideband) module_util locations.
* Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries.
* Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils.
* Changed module and module param references to take into account the new self.module arg.
* Minor bug fixes made during this refactor.
Primarily, this patch contains refactors to remove tracebacks that
are generated when libraries are missing. There is also,
* Removed re-def of cleanup_tokens.
* Changed parameter args to be keywords.
* Changed imports to include new module_util locations.
* Imports also include developing (sideband) module_util locations.
* Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries.
* Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils.
* Changed module and module param references to take into account the new self.module arg. Minor bug fixes made during this refactor.
This patch was primarily an effort to reduce traceback errors for
work that sivel was doing. Part of (and in some cases in addition to)
that, the following was done.
* Removed re-def of cleanup_tokens.
* Changed parameter args to be keywords.
* Changed imports to include new module_util locations.
* Imports also include developing (sideband) module_util locations.
* Changed to using F5Client and plain AnsibleModule to prevent tracebacks caused by missing libraries.
* Removed init and update methods from most Parameter classes (optimization) as its now included in module_utils.
* Changed module and module param references to take into account the new self.module arg.
* Minor bug fixes made during this refactor.
This fix refactor vmware_host module to use PyVmomi.
Also, handle SSLVerifyFault exception to get hostsystem's certificate
thumbprint.
Fixes: #20819
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* aci_aep_to_domain: New module to bind AEP to domain
* Changes to bring in line with aci_domain
* Rename aep_domain to domain_dn, add types
* Fix pylint errors
The jira module uses ansible.module_utils.urls.fetch_url which will
attempt to get that value of the validate_certs parameter from the
module; if present it will honor it's value, otherwise it defaults
to True.
This patch adds that parameter to jira so that it can be specified
by the user and honored by ansible.module_utils.urls.fetch_url
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix broken import
* ansible.module_utils.ec2.HAS_BOTO is already used
* wait_timeout parameter: use 'int' type
* wait is always True there
* doc: use formatting function
* Update validate-modules arg_spec introspection to be faster, by only mocking the imports we explicitly list
* The use of types.MethodType in redhat_subscription wasn't py3 compatible, use partial instead
* Remove argument_spec import hacks, make them errors, we can ignore them with ansible-test
* Enable the --arg-spec flag for validate-modules
* aci_domain_to_vlan_pool: Add domain to VLAN pool
A new ACI module to bind a domain to a VLAN pool.
This module still needs integration tests once it is formally review and
accepted.
* Add examples to documentation
* aci_domain_to_encap_pool: Add domain to encap pool
A new ACI module to bind a domain to an encap pool.
This module still needs integration tests once it is formally review and
accepted.
* Fix domain RN and attributes
* aci_domain: Manage phys, vmm, l2ext, l3ext and FC domain profiles
A new ACI module from the high priority list.
* Add RHEV VMM provider as Redhat
* PEP compliancy
* Make variables specific to domain
* Add examples
* aci_vlan_pool_encap_block: New module to manage VLAN encap blocks
This module is a simplified version of the aci_encap_pool_range module.
* PEP8 fixes (closer to the original)
* Add integration tests
* Mellanox OS name change: MLNXOS changed to ONYX
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* Fix alphabetical order of modules metadata
Signed-off-by: Samer Deeb <samerd@mellanox.com>
Adding "-SyncWindow 0" flag to the Compare-Object call used to determine if the existing and proposed IP address lists are the same. This makes the array comparison mark changes in order as a difference.
Fix for bug #34651
* aci_vlan_pool: Module to manage VLAN pools
This is a simplified version of the aci_encap_pool module.
* Add integration tests, based on aci_encap_pool
* Add new module for managing ospf protocol on mlnxos devices
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* Fix test name, and documentation.
Signed-off-by: Samer Deeb <samerd@mellanox.com>
This module is mostly written to make room for the option of not
setting the `value` parameter while `state=absent`. That choice being
a feature, since it allows both for the removal of individual records
as well as the removal of full record sets.
The opposite goes for the `record` parameter, which needs to be defined
at least by its default value for the module to be able to produce any
meaningful result. Hence making it explicit as part of required_if.
The MX record type is already plenty covered. In addition to the
priority parameter having a default value, the `ensure_dns_record`
method does its own parameter checking.
SRV records on the other hand do need additional parameter
checking. Primarily with the `delete_dns_records` method in mind.
Fixes#23957
* filesystem: list used tools
* filesystem: btrfs and reiserfs don't support resizing
* filesystem: list supported filesystems
use formatting functions and 'filesystem' instead of 'file system'
* filesystem: PEP8
* filesystem: remove useless calls to module.boolean
* filesystem: fail when the requested action isn't implemented
* filesystem: resizefs: list supported FS rather than unsupported
* filesystem: refactor
* filesystem: add integration tests
* filesystem: allow to use image file with 'dev' param
* filesystem: test resizefs (ext2/3/4 filesystems only)
* filesystem: Btrfs, handle older version than v0.20-rc1
* filesystem: use loop keyword (integration tests)
* filesystem: new test, check when another filesystem already exists
* filesystem: add myself as a maintainer
* filesystem: fix tests as filters
This adds a new module called 'vmware_host_config_facts' which
gathers facts about advanced configuration informantion about ESXi host or all
ESXi hosts from given cluster.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* converted win_updates to an action plugin for automatic reboots
* do not set final result when running under async
* Updated documentation around win_updates with async and become
* First pass at Terraform module
* Support output variables
* Support idempotent plan checks and external plan files
* Add check mode support
* Support custom statefile location & remove color-coding from shell output
* Docs
* Let missing statefile hard-fail
* Update to support present/planned/absent states
* PEP8
* Add docs & fix python 2.6 incompatibility
* PEP8
* PEP8
* Fix misleading cleanup/detach documentation
Current documentation is not concrete regarding desired
state of `detach` to make container be properly removed
with `cleanup`
Make `detach:false` be mentioned explicitly
* Tweak formatting
* adding azure_rm_postgresqlserver
* removed semicolon placed by mistake
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* updates to azure_rm_postgresqlserver
* Updated dependencies
* Allow protection of certain keys during camel_to_snake
Create an `ignore_list` parameter that preserves the case
of the contents of certain dictionaries. Most valuable
for `tags` but other uses might arise.
* Port ec2_vpc_route_table to boto3
Update tests to reflect fixes in boto3.
* Add RETURN documentation to ec2_vpc_route_table
* Update DOCUMENTATION to be valid yaml
* Add check mode tests
* ios_logging: Handle IOS versions that dont put the word host in logging config
This change allows the ansible module to parse and match either variant
being present in running-config.
* ios_logging: enhance logging buffered to handle both size and level
This change allows ios_logging to ensure local (buffered) logging
is configured with both the correct buffer size and logging level,
when both are specified on the task.
* Add test for unexpected egress rule in default VPC
When passing rules_egress to ec2_group, the default
egress rule shouldn't be created (if `purge_rules_egress`)
is set. Test this.
* Respect egress rule defintions for default VPC groups
When passing rules_egress and purge_rules_egress, the
default egress rule should not be created
Fixes#34429
* Change AWS credential passing to be YAML anchors
Vastly simplify the AWS tasks by reducing the credentials to a YAML
block
This fix adds rpm.error exception which is raised when
API unable to get envra information from RPM package.
Also, adds integration test for local_envra method.
Fixes: #30074
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* wrap boto3 connection in try/except and handle exception, add traceback import
* params dont need to be mutually exclusive and support check mode
* add check to set nacl_ids to empty list instead of None for boto3 func
* standard exception handling using traceback
* update current RETURN documentation which is incorrect.
* update logic to check for and return ipv6 cidr instead of ipv4 cidr in a NACL
* ignore default and reserved rule numbers - greater than 32766
* was breaking on non-standard protocol numbers - AWS nacls now support full list -1 to 254
* update port range and icmp type/code handling
* add some more detail to returned nacl entries
* Update exception handling to account for BotoCoreError
Remove exception handling from the boto connection creation since it does nothing
* rules numbers from 32767 to 65535 are reserved for internal AWS use so we ignore here
* Add some integration tests for ec2_asg.
* Remove exception handling from ec2_asg boto3 connection since it is handled in boto3_conn().
* Update test failure assertions
* Use yaml anchor for credentials and remove unnecessary dependencies.
* Move AWS boto3 module credentials tests to separate target
* Remove filters from tests
* Add new module mlnxos_protocol for enabling disabling protocols on
MLNX-OS Mellanox network devices
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* Fix Test Class name
* Fix IP routing protocol support
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* Add missing support for check_mode, and Fix documentation
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* remidate Windows debugging
Using $complex_args is not working (anymore?). We need to set $params directly.
* Fixing issue with win_iis_website parameter types
There are two types of attributes. "String" and "Configuration Attribute". We need to get the real "value" based on the type.
* Revert "remidate Windows debugging"
This reverts commit df75d3bb0d152b10c24187ce4c643b4733bae336.
* win_domain_user allow to update generic attributes
Signed-off-by: Marko Koehne <marko@mkoehne.de>
* win_domain_user.py fixed indentation
Signed-off-by: Marko Koehne <marko@mkoehne.de>
* win_domain_user.py attributes add version_added
Signed-off-by: Marko Koehne <marko@mkoehne.de>
* win_domain_user.p1 removed attributes from result
Signed-off-by: Marko Koehne <marko@mkoehne.de>
* moved run_change outside of if statement
* cs_network_offering: streamline docs a bit
* cs_network_offering: format traffic type as returned by API
* cs_network_offering: rename return to service_offering_id
* cs_network_offering: ensure absent tests don't require anyting else than name
* cs_network_offering: beautify the default_egress_policy param
* cs_network_offering: test enabling/disabling with existing syntax
* cs_network_offering: rename service_provider_list to service_providers
* cs_network_offering: allow update max_connections
* cs_network_offering: extend returns
* cs_network_offering: extend tests with max_connections
* cloudstack: rename cs_serviceoffer to cs_service_offering
* adjust references to old name
* cs_service_offering: fix limitcpuuse not handled
* minor docs fix
* update changelog
A bug in the parsing of single commands with commas
Token cleanup
Password argument now defaults to false
Addition of coding conventions from v3 conventions
This module can be used to add license offerings to a pool. This
is the second part required to license a remote device from a
BIG-IQ (the first being to create a pool with bigiq_regkey_pool)
* Removes deprecated code from bigip_monitor_tcp
The deprecated code was moved into its own modules. We let it lay
here for a release, and now I'm removing it.
* Fixing upstreaming tests
This module can be used to create GTM servers (not to be confused with
GTM virtual servers) on a BIGIP. GTM servers are a component of the
datacenter, and GTM virtual servers are their members.
This fix adds new module for managing various roles in
local ESXi server. Also, adds integration tests for this change.
Fixes: #27899
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Code refactor to use f5 coding conventions. Removed deprecated
"enabled/disabled" params (this is now a state). Adds token cleanup
for cases where many api calls are made.
* Added a new module to fetch Avi Controller version and data
* Updated copyright notice.
* setting options to empty as all of it is coming from common args.
This refactors the bigip_virtual_server module to address several issues and
missing features. Additionally it adds tests and updates the coding standards
to the recent version used by f5. Finally, it removes deprecated items that
were announced in 2.4
* Use `AnsibleAWSModule`
* Update exception handling to use `fail_json_aws` and check
for `BotoCoreError` exceptions associated with bad connection
parameters.
* Remove connection creation exception handling as it does nothing.
This fix adds support for Virtual Machine resource allocation
information. This information is related to limit and reserve CPU and Memory
of virtual machine.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* mutually_exclusive add - ios_config parents works with lines by not src
* mutually_execlusive parents,src added to all other net modules
* tests for mutually_exclusive parents,src and whitespce removal
Currently the manageiq remote management module only supports
OpenShift, AWS and oVirt. This adds the ability to create VMware
providers by adding two additional parameters for configuring a
host VNC range.
The DigitalOcean API v2 supports creating a block storage volume from
a previously-saved snapshot using a snapshot_id string. This module now
likewise supports creating a block storage volume using a valid
snapshot_id string.
When creating a block storage volume from a snapshot_id using the
DigitalOcean API, the region and size_gigabytes parameters are ignored.
Therefore, these parameters are likewise ignored when using this module.
However, as of this commit, they are still required fields. It may be
necessary to find some way to eliminate these requirements if the
snapshot_id parameter is included.
The DigitalOcean API v2 allows for creating a block storage volume from
a previously-saved snapshot using the snapshot_id parameter. If this
parameter is used, the region and size_gigabytes parameters are
disregarded. In order to avoid confusion, when the snapshot_id parameter
is included when creating a block storage volume using this module, the
region and block_size fields are overridden and changed to null values.
This should make it clear that these values are NOT being used if a
snapshot_id is present.
This module will still fail as before if neither the region/block_size
or snapshot_id is not present when creating a block storage volume.
Documentation has been updated to reflect these changes.
* obscure type promotion issue in some versions of Powershell causes [int]::MaxValue to be promoted to [int64] when doing a COM property get or set. Since the "All" profiles value of 0x7FFFFFFF is [int]::MaxValue, it would trigger "Specified cast is not valid" when modifying a rule that's already set to All Profiles or trying to be.
* Fixed catch-all error handler to include exception detail
* Added test converage for this case
* Add Windows Domain facts for membership and server type
Adds additional facts to setup.ps1 for Windows hosts
* ansible_windows_domain_member - returns true if machine is domain
joined
* ansible_windows_domain_role - indicates role of machine in domain
Roles list is taken from
https://technet.microsoft.com/en-us/library/ee198796.aspx and will
return sensible values for non domain joined machines too.
* Use $win32_cs rather than Get-CimInstance Win32_ComputerSystem for consistency
* Begin rewrite of win_iis_webbinding
Add integration testing, check mode and idempotency
Add support for SNI
Fix replacing SSL cert on existing bindings
* finished up initial rewrite of win_iis_webbinding
* updated test to remove tests as filters
* updated win_iis_webbinding docs
* fix more doc/formatting issues win_iis_webbinding
* Removed string empty defaults for certs. Added a few new helpful
comments.
* Revert "Removed string empty defaults for certs. Added a few new helpful"
This reverts commit 48f35faea8d5294b34e1aa842a95c9352b90257f.
Remove examples from main section and make sure it is all in the examples. Should helpw ith the HTML breakage (it is too wide for most monitors).
tyop fixes too.
* Add module mlnxos_linkagg for configuring LAG and MLAG on Mellanox
switches
Signed-off-by: Samer Deeb <samerd@mellanox.com>
* Remove unnecessary method in unit-test
remove _execute_module and use execute_module from base class
* Add eos_interface module
* Implementation of eos_interface module
* Intergration test for eos_interface module
* Minor fix in eos_l3_interface module
* Minor fix in ios_interface integration test
* Fix CI issues
* Fix more CI issues
* Updated Avi Modules with following
1. Support to perform patch operation using the modules. The data update method is
selected using avi_api_update_method=patch and patch operation is determined by
avi_api_patch_op. The patch data is the normal params that are provided in the modules
2. Support for avi_credentials as single authentication dictionary for all API calls.
This is preferred way as opposed to previously all credentials details would pollute
the individual Ansible tasks. It also allows the module development to be enhanced
without breaking compatibility for new authentication schemes like SAML etc.
3. Support for sharing api_context between the module invocations. This is a
workaround to not do multiple logins to Avi Controller and be able to
re-use single login across multiple REST API calls.
4. Documentation update for new parameters and existing ones with Units data.
* Fixed the pylint and pep8 errors caused due to pycharm editor auto formatting
* update version parsing and move requirements to nso_* modules
prepare for introduction of nso_show module that has other version
requirements than the existing nso_* modules.
* Add nso_show module for retreiving config from Cisco NSO
New module that supports getting configuration and operational data
from Cisco NSO.
This fix adds user friendly message for 'type' argument.
The 'type' is a required param when performing 'create' or 'modify' operations
on network connection or device.
Fixes: #33680
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Shell is implemented via the command module. There was a special case
in mod_args to do that. Make shell into an action plugin to handle that
instead.
Also move the special case for the command nanny into a command module
action plugin. This is more appropriate as we then do not have to send
a parameter that is only for the command module to every single module.
* vhba template and integration test
* SAN Connectivity Policies and integration test
* VSANs and integration tests
* WWNN/WWPN Pools and integration test
* WWNN/WWPN Pools and integration test
* option description spelled out (aliased to descr)
removed docs for list of dictionaries syntax
follow ACI indent style
state absent only requires dn name match (not full prop match)
* vhba template and integration test
* SAN Connectivity Policies and integration test
* VSANs and integration tests
* WWNN/WWPN Pools and integration test
* VSANs module and integration test
* removed docs for list of dictionaries syntax
follow ACI indent style
state absent only requires dn name match (not full prop match)
* vhba template and integration test
* SAN Connectivity Policies and integration test
* VSANs and integration tests
* WWNN/WWPN Pools and integration test
* vHBA templates and integration test
* option description spelled out (aliased to descr)
removed docs for list of dictionaries syntax
follow ACI indent style
state absent only requires dn name match (not full prop match)
* vhba template and integration test
* SAN Connectivity Policies and integration test
* VSANs and integration tests
* WWNN/WWPN Pools and integration test
* SAN Connectivity Policies only
* option description spelled out (aliased to descr)
removed docs for list of dictionaries syntax
follow ACI indent style
state absent only requires dn name match (not full prop match)