mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Various small fixes to bigip modules (#48769)
This commit is contained in:
parent
a7b7c07ad2
commit
0e71f62a95
14 changed files with 31 additions and 21 deletions
|
@ -8,7 +8,6 @@ __metaclass__ = type
|
||||||
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import time
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -14,9 +14,13 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
|
|
||||||
|
try:
|
||||||
|
from BytesIO import BytesIO
|
||||||
|
except ImportError:
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
from ansible.module_utils.urls import urlparse
|
from ansible.module_utils.urls import urlparse
|
||||||
from ansible.module_utils.urls import generic_urlparse
|
from ansible.module_utils.urls import generic_urlparse
|
||||||
from ansible.module_utils._text import to_native
|
|
||||||
from ansible.module_utils.urls import Request
|
from ansible.module_utils.urls import Request
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -392,7 +396,7 @@ def upload_file(client, url, src, dest=None):
|
||||||
Raises:
|
Raises:
|
||||||
F5ModuleError: Raised if ``retries`` limit is exceeded.
|
F5ModuleError: Raised if ``retries`` limit is exceeded.
|
||||||
"""
|
"""
|
||||||
if isinstance(src, StringIO):
|
if isinstance(src, StringIO) or isinstance(src, BytesIO):
|
||||||
fileobj = src
|
fileobj = src
|
||||||
else:
|
else:
|
||||||
fileobj = open(src, 'rb')
|
fileobj = open(src, 'rb')
|
||||||
|
|
|
@ -330,7 +330,7 @@ class ModuleManager(object):
|
||||||
raise F5ModuleError(resp.content)
|
raise F5ModuleError(resp.content)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def upload_to_device(self,):
|
def upload_to_device(self):
|
||||||
url = 'https://{0}:{1}/mgmt/shared/file-transfer/uploads'.format(
|
url = 'https://{0}:{1}/mgmt/shared/file-transfer/uploads'.format(
|
||||||
self.client.provider['server'],
|
self.client.provider['server'],
|
||||||
self.client.provider['server_port']
|
self.client.provider['server_port']
|
||||||
|
|
|
@ -553,7 +553,7 @@ class Parameters(AnsibleF5Parameters):
|
||||||
]
|
]
|
||||||
|
|
||||||
returnables = [
|
returnables = [
|
||||||
'client_timeout'
|
'client_timeout',
|
||||||
'description',
|
'description',
|
||||||
'explicit_flow_migration',
|
'explicit_flow_migration',
|
||||||
'idle_timeout',
|
'idle_timeout',
|
||||||
|
|
|
@ -540,8 +540,9 @@ def main():
|
||||||
supports_check_mode=spec.supports_check_mode,
|
supports_check_mode=spec.supports_check_mode,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
cleanup_tokens(client)
|
cleanup_tokens(client)
|
||||||
|
|
|
@ -467,8 +467,9 @@ def main():
|
||||||
supports_check_mode=spec.supports_check_mode
|
supports_check_mode=spec.supports_check_mode
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
cleanup_tokens(client)
|
cleanup_tokens(client)
|
||||||
|
|
|
@ -491,8 +491,9 @@ def main():
|
||||||
supports_check_mode=spec.supports_check_mode,
|
supports_check_mode=spec.supports_check_mode,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
cleanup_tokens(client)
|
cleanup_tokens(client)
|
||||||
|
|
|
@ -564,6 +564,7 @@ def main():
|
||||||
argument_spec=spec.argument_spec,
|
argument_spec=spec.argument_spec,
|
||||||
supports_check_mode=spec.supports_check_mode
|
supports_check_mode=spec.supports_check_mode
|
||||||
)
|
)
|
||||||
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -750,8 +750,9 @@ def main():
|
||||||
required_together=spec.required_together,
|
required_together=spec.required_together,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
cleanup_tokens(client)
|
cleanup_tokens(client)
|
||||||
|
|
|
@ -686,8 +686,9 @@ def main():
|
||||||
mutually_exclusive=spec.mutually_exclusive,
|
mutually_exclusive=spec.mutually_exclusive,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
cleanup_tokens(client)
|
cleanup_tokens(client)
|
||||||
|
|
|
@ -599,8 +599,9 @@ def main():
|
||||||
supports_check_mode=spec.supports_check_mode,
|
supports_check_mode=spec.supports_check_mode,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
cleanup_tokens(client)
|
cleanup_tokens(client)
|
||||||
|
|
|
@ -206,6 +206,9 @@ class ModuleManager(object):
|
||||||
self._wait_for_module_provisioning()
|
self._wait_for_module_provisioning()
|
||||||
break
|
break
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
|
if 'Failed to validate the SSL' in str(ex):
|
||||||
|
raise F5ModuleError(str(ex))
|
||||||
|
|
||||||
# The types of exception's we're handling here are "REST API is not
|
# The types of exception's we're handling here are "REST API is not
|
||||||
# ready" exceptions.
|
# ready" exceptions.
|
||||||
#
|
#
|
||||||
|
@ -331,8 +334,9 @@ def main():
|
||||||
supports_check_mode=spec.supports_check_mode
|
supports_check_mode=spec.supports_check_mode
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
|
||||||
client = F5RestClient(**module.params)
|
client = F5RestClient(**module.params)
|
||||||
|
|
||||||
|
try:
|
||||||
mm = ModuleManager(module=module, client=client)
|
mm = ModuleManager(module=module, client=client)
|
||||||
results = mm.exec_module()
|
results = mm.exec_module()
|
||||||
exit_json(module, results, client)
|
exit_json(module, results, client)
|
||||||
|
|
|
@ -102,19 +102,15 @@ options:
|
||||||
description:
|
description:
|
||||||
- Configures the transport connection to use when connecting to the
|
- Configures the transport connection to use when connecting to the
|
||||||
remote device.
|
remote device.
|
||||||
required: true
|
|
||||||
choices:
|
choices:
|
||||||
- rest
|
- rest
|
||||||
- cli
|
- cli
|
||||||
default: cli
|
default: rest
|
||||||
notes:
|
notes:
|
||||||
- For more information on using Ansible to manage F5 Networks devices see U(https://www.ansible.com/integrations/networks/f5).
|
- For more information on using Ansible to manage F5 Networks devices see U(https://www.ansible.com/integrations/networks/f5).
|
||||||
- Requires the f5-sdk Python package on the host. This is as easy as C(pip install f5-sdk).
|
|
||||||
- Requires BIG-IP software version >= 12.
|
- Requires BIG-IP software version >= 12.
|
||||||
- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP
|
- The F5 modules only manipulate the running configuration of the F5 product. To ensure that BIG-IP
|
||||||
specific configuration persists to disk, be sure to include at least one task that uses the
|
specific configuration persists to disk, be sure to include at least one task that uses the
|
||||||
M(bigip_config) module to save the running configuration. Refer to the module's documentation for
|
M(bigip_config) module to save the running configuration. Refer to the module's documentation for
|
||||||
the correct usage of the module to save your running configuration.
|
the correct usage of the module to save your running configuration.
|
||||||
requirements:
|
|
||||||
- f5-sdk >= 3.0.16
|
|
||||||
'''
|
'''
|
||||||
|
|
Loading…
Reference in a new issue