mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Refactors main() function and module manager in multiple modules in line with recent changes (#53981)
Adds variable types to docs Refactors unit tests to remove deprecated parameters
This commit is contained in:
parent
739df1c348
commit
1a411e9c6b
40 changed files with 800 additions and 548 deletions
|
@ -23,6 +23,7 @@ options:
|
|||
hostname:
|
||||
description:
|
||||
- Hostname of the BIG-IP host.
|
||||
type: str
|
||||
required: True
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
|
@ -56,18 +57,12 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
|
||||
|
||||
class Parameters(AnsibleF5Parameters):
|
||||
|
@ -134,7 +129,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.changes = UsableChanges()
|
||||
|
@ -301,16 +296,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -25,6 +25,7 @@ options:
|
|||
name:
|
||||
description:
|
||||
- The name of the iApp service that you want to deploy.
|
||||
type: str
|
||||
required: True
|
||||
template:
|
||||
description:
|
||||
|
@ -32,6 +33,7 @@ options:
|
|||
template must exist on your BIG-IP before you can successfully
|
||||
create a service.
|
||||
- When creating a new service, this parameter is required.
|
||||
type: str
|
||||
parameters:
|
||||
description:
|
||||
- A hash of all the required template variables for the iApp template.
|
||||
|
@ -40,6 +42,7 @@ options:
|
|||
to supply the expected parameters.
|
||||
- These parameters typically consist of the C(lists), C(tables), and
|
||||
C(variables) fields.
|
||||
type: dict
|
||||
force:
|
||||
description:
|
||||
- Forces the updating of an iApp service even if the parameters to the
|
||||
|
@ -47,19 +50,21 @@ options:
|
|||
the iApp template that underlies the service has been updated in-place.
|
||||
This option is equivalent to re-configuring the iApp if that template
|
||||
has changed.
|
||||
default: no
|
||||
type: bool
|
||||
default: no
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the iApp service is created and running.
|
||||
When C(absent), ensures that the iApp service has been removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
strict_updates:
|
||||
|
@ -74,8 +79,8 @@ options:
|
|||
- If this option is specified in the Ansible task, it will take precedence
|
||||
over any similar setting in the iApp Service payload that you provide in
|
||||
the C(parameters) field.
|
||||
default: yes
|
||||
type: bool
|
||||
default: yes
|
||||
version_added: 2.5
|
||||
traffic_group:
|
||||
description:
|
||||
|
@ -85,6 +90,7 @@ options:
|
|||
- If this option is specified in the Ansible task, it will take precedence
|
||||
over any similar setting in the iApp Service payload that you provide in
|
||||
the C(parameters) field.
|
||||
type: str
|
||||
version_added: 2.5
|
||||
metadata:
|
||||
description:
|
||||
|
@ -92,6 +98,7 @@ options:
|
|||
- If this option is specified in the Ansible task, it will take precedence
|
||||
over any similar setting in the iApp Service payload that you provide in
|
||||
the C(parameters) field.
|
||||
type: list
|
||||
version_added: 2.7
|
||||
description:
|
||||
description:
|
||||
|
@ -99,6 +106,7 @@ options:
|
|||
- If this option is specified in the Ansible task, it will take precedence
|
||||
over any similar setting in the iApp Service payload that you provide in
|
||||
the C(parameters) field.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
device_group:
|
||||
description:
|
||||
|
@ -106,6 +114,7 @@ options:
|
|||
- If this option is specified in the Ansible task, it will take precedence
|
||||
over any similar setting in the iApp Service payload that you provide in
|
||||
the C(parameters) field.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
|
@ -264,11 +273,8 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import flatten_boolean
|
||||
from library.module_utils.network.f5.urls import build_service_uri
|
||||
|
@ -276,11 +282,8 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import flatten_boolean
|
||||
from ansible.module_utils.network.f5.urls import build_service_uri
|
||||
|
@ -676,7 +679,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.have = None
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.changes = UsableChanges()
|
||||
|
@ -979,16 +982,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -46,19 +46,22 @@ options:
|
|||
is only available when specifying a C(state) of C(absent) and is
|
||||
provided as a way to delete templates that you may no longer have
|
||||
the source of.
|
||||
type: str
|
||||
content:
|
||||
description:
|
||||
- Sets the contents of an iApp template directly to the specified
|
||||
value. This is for simple values, but can be used with lookup
|
||||
plugins for anything complex or with formatting. C(content) must
|
||||
be provided when creating new templates.
|
||||
type: str
|
||||
state:
|
||||
description:
|
||||
- Whether the iApp template should exist or not.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
|
@ -116,22 +119,16 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.icontrol import upload_file
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.icontrol import upload_file
|
||||
|
||||
|
@ -245,7 +242,7 @@ class ReportableChanges(Changes):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -561,16 +558,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,10 +23,12 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Specifies the name of the IKE peer.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- Description of the IKE peer.
|
||||
type: str
|
||||
version:
|
||||
description:
|
||||
- Specifies which version of IKE is used.
|
||||
|
@ -37,6 +39,7 @@ options:
|
|||
- If the system you are configuring is the IPsec responder, and you select
|
||||
both versions, the IPsec initiator system determines which IKE version to use.
|
||||
- When creating a new IKE peer, this value is required.
|
||||
type: list
|
||||
choices:
|
||||
- v1
|
||||
- v2
|
||||
|
@ -44,6 +47,7 @@ options:
|
|||
description:
|
||||
- Specifies the identifier type that the local system uses to identify
|
||||
itself to the peer during IKE Phase 1 negotiations.
|
||||
type: str
|
||||
choices:
|
||||
- address
|
||||
- asn1dn
|
||||
|
@ -56,6 +60,7 @@ options:
|
|||
- This is a required value when C(version) includes (Cv2).
|
||||
- Specifies a value for the identity when using a C(presented_id_type) of
|
||||
C(override).
|
||||
type: str
|
||||
verified_id_type:
|
||||
description:
|
||||
- Specifies the identifier type that the local system uses to identify
|
||||
|
@ -63,6 +68,7 @@ options:
|
|||
- This is a required value when C(version) includes (Cv2).
|
||||
- When C(user-fqdn), value of C(verified_id_value) must be in the form of
|
||||
User @ DNS domain string.
|
||||
type: str
|
||||
choices:
|
||||
- address
|
||||
- asn1dn
|
||||
|
@ -75,11 +81,13 @@ options:
|
|||
- This is a required value when C(version) includes (Cv2).
|
||||
- Specifies a value for the identity when using a C(verified_id_type) of
|
||||
C(override).
|
||||
type: str
|
||||
phase1_auth_method:
|
||||
description:
|
||||
- Specifies the authentication method for phase 1 negotiation.
|
||||
- When creating a new IKE peer, if this value is not specified, the default is
|
||||
C(rsa-signature).
|
||||
type: str
|
||||
choices:
|
||||
- pre-shared-key
|
||||
- rsa-signature
|
||||
|
@ -89,12 +97,14 @@ options:
|
|||
- When creating a new IKE peer, if this value is not specified, and
|
||||
C(phase1_auth_method) is C(rsa-signature), the default is C(default.crt).
|
||||
- This parameter is invalid when C(phase1_auth_method) is C(pre-shared-key).
|
||||
type: str
|
||||
phase1_key:
|
||||
description:
|
||||
- Specifies the public key that the digital certificate contains.
|
||||
- When creating a new IKE peer, if this value is not specified, and
|
||||
C(phase1_auth_method) is C(rsa-signature), the default is C(default.key).
|
||||
- This parameter is invalid when C(phase1_auth_method) is C(pre-shared-key).
|
||||
type: str
|
||||
phase1_verify_peer_cert:
|
||||
description:
|
||||
- In IKEv2, specifies whether the certificate sent by the IKE peer is verified
|
||||
|
@ -113,14 +123,17 @@ options:
|
|||
- Specifies a string that the IKE peers share for authenticating each other.
|
||||
- This parameter is only relevant when C(phase1_auth_method) is C(pre-shared-key).
|
||||
- This parameter is invalid when C(phase1_auth_method) is C(rsa-signature).
|
||||
type: str
|
||||
remote_address:
|
||||
description:
|
||||
- Displays the IP address of the BIG-IP system that is remote to the system
|
||||
you are configuring.
|
||||
type: str
|
||||
phase1_encryption_algorithm:
|
||||
description:
|
||||
- Specifies the algorithm to use for IKE encryption.
|
||||
- IKE C(version) C(v2) does not support C(blowfish), C(camellia), or C(cast128).
|
||||
type: str
|
||||
choices:
|
||||
- 3des
|
||||
- des
|
||||
|
@ -133,6 +146,7 @@ options:
|
|||
phase1_hash_algorithm:
|
||||
description:
|
||||
- Specifies the algorithm to use for IKE authentication.
|
||||
type: str
|
||||
choices:
|
||||
- sha1
|
||||
- md5
|
||||
|
@ -142,6 +156,7 @@ options:
|
|||
phase1_perfect_forward_secrecy:
|
||||
description:
|
||||
- Specifies the Diffie-Hellman group to use for IKE Phase 1 and Phase 2 negotiations.
|
||||
type: str
|
||||
choices:
|
||||
- ecp256
|
||||
- ecp384
|
||||
|
@ -158,22 +173,25 @@ options:
|
|||
description:
|
||||
- C(always) will allow to update passwords if the user chooses to do so.
|
||||
C(on_create) will only set the password for newly created IKE peers.
|
||||
default: always
|
||||
type: str
|
||||
choices:
|
||||
- always
|
||||
- on_create
|
||||
default: always
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the resource exists.
|
||||
- When C(absent), ensures the resource is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -181,9 +199,33 @@ author:
|
|||
'''
|
||||
|
||||
EXAMPLES = r'''
|
||||
- name: Create a ...
|
||||
- name: Create new IKE peer
|
||||
bigip_ike_peer:
|
||||
name: foo
|
||||
name: ike1
|
||||
remote_address: 1.2.3.4
|
||||
version:
|
||||
- v1
|
||||
provider:
|
||||
password: secret
|
||||
server: lb.mydomain.com
|
||||
user: admin
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Change presented id type - keyid-tag
|
||||
bigip_ike_peer:
|
||||
name: ike1
|
||||
presented_id_type: keyid-tag
|
||||
presented_id_value: key1
|
||||
provider:
|
||||
password: secret
|
||||
server: lb.mydomain.com
|
||||
user: admin
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Remove IKE peer
|
||||
bigip_ike_peer:
|
||||
name: ike1
|
||||
state: absent
|
||||
provider:
|
||||
password: secret
|
||||
server: lb.mydomain.com
|
||||
|
@ -266,11 +308,8 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import flatten_boolean
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
@ -278,11 +317,8 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import flatten_boolean
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
@ -461,7 +497,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -756,16 +792,12 @@ def main():
|
|||
required_together=spec.required_together,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -24,6 +24,7 @@ options:
|
|||
route_domain:
|
||||
description:
|
||||
- Route domain to manage BGP configuration on.
|
||||
type: str
|
||||
default: 0
|
||||
lines:
|
||||
description:
|
||||
|
@ -33,6 +34,7 @@ options:
|
|||
running-config.
|
||||
- Be sure to note the configuration command syntax as some commands
|
||||
are automatically modified by the device config parser.
|
||||
type: list
|
||||
aliases: ['commands']
|
||||
parents:
|
||||
description:
|
||||
|
@ -40,6 +42,7 @@ options:
|
|||
the commands should be checked against.
|
||||
- If the C(parents) argument is omitted, the commands are checked against
|
||||
the set of top level or global commands.
|
||||
type: list
|
||||
src:
|
||||
description:
|
||||
- The I(src) argument provides a path to the configuration file
|
||||
|
@ -49,6 +52,7 @@ options:
|
|||
implemented role or playbook.
|
||||
- This argument is mutually exclusive with the I(lines) and
|
||||
I(parents) arguments.
|
||||
type: path
|
||||
before:
|
||||
description:
|
||||
- The ordered set of commands to push on to the command stack if
|
||||
|
@ -56,12 +60,14 @@ options:
|
|||
- This allows the playbook designer the opportunity to perform
|
||||
configuration commands prior to pushing any changes without
|
||||
affecting how the set of commands are matched against the system.
|
||||
type: list
|
||||
after:
|
||||
description:
|
||||
- The ordered set of commands to append to the end of the command
|
||||
stack if a change needs to be made.
|
||||
- Just like with I(before) this allows the playbook designer to
|
||||
append a set of commands to be executed after the command set.
|
||||
type: list
|
||||
match:
|
||||
description:
|
||||
- Instructs the module on the way to perform the matching of
|
||||
|
@ -73,8 +79,13 @@ options:
|
|||
- Finally, if match is set to I(none), the module will not attempt to
|
||||
compare the source configuration with the running configuration on
|
||||
the remote device.
|
||||
type: str
|
||||
choices:
|
||||
- line
|
||||
- strict
|
||||
- exact
|
||||
- none
|
||||
default: line
|
||||
choices: ['line', 'strict', 'exact', 'none']
|
||||
replace:
|
||||
description:
|
||||
- Instructs the module on the way to perform the configuration
|
||||
|
@ -84,8 +95,11 @@ options:
|
|||
- If the replace argument is set to I(block) then the entire
|
||||
command block is pushed to the device in configuration mode if any
|
||||
line is not correct.
|
||||
type: str
|
||||
choices:
|
||||
- line
|
||||
- block
|
||||
default: line
|
||||
choices: ['line', 'block']
|
||||
backup:
|
||||
description:
|
||||
- This argument will cause the module to create a full backup of
|
||||
|
@ -105,6 +119,7 @@ options:
|
|||
current running-config for every task in a playbook.
|
||||
- The I(running_config) argument allows the implementer to pass in
|
||||
the configuration to use as the base config for comparison.
|
||||
type: str
|
||||
aliases: ['config']
|
||||
save_when:
|
||||
description:
|
||||
|
@ -120,8 +135,13 @@ options:
|
|||
copied to the startup-config.
|
||||
- If the argument is set to I(changed), then the running-config
|
||||
will only be copied to the startup-config if the task has made a change.
|
||||
type: str
|
||||
choices:
|
||||
- always
|
||||
- never
|
||||
- modified
|
||||
- changed
|
||||
default: never
|
||||
choices: ['always', 'never', 'modified', 'changed']
|
||||
diff_against:
|
||||
description:
|
||||
- When using the C(ansible-playbook --diff) command line argument
|
||||
|
@ -134,8 +154,12 @@ options:
|
|||
- When this option is configured as I(running), the module will
|
||||
return the before and after diff of the running-config with respect
|
||||
to any changes made to the device configuration.
|
||||
type: str
|
||||
choices:
|
||||
- startup
|
||||
- intended
|
||||
- running
|
||||
default: startup
|
||||
choices: ['startup', 'intended', 'running']
|
||||
diff_ignore_lines:
|
||||
description:
|
||||
- Use this argument to specify one or more lines that should be
|
||||
|
@ -143,6 +167,7 @@ options:
|
|||
- This is used for lines in the configuration that are automatically
|
||||
updated by the system.
|
||||
- This argument takes a list of regular expressions or exact line matches.
|
||||
type: list
|
||||
intended_config:
|
||||
description:
|
||||
- The C(intended_config) provides the master configuration that
|
||||
|
@ -153,6 +178,7 @@ options:
|
|||
configuration against.
|
||||
- When specifying this argument, the task should also modify the
|
||||
C(diff_against) value and set it to I(intended).
|
||||
type: str
|
||||
backup_options:
|
||||
description:
|
||||
- This is a dict object containing configurable options related to backup file path.
|
||||
|
@ -164,6 +190,7 @@ options:
|
|||
- The filename to be used to store the backup configuration. If the the filename
|
||||
is not given it will be generated based on the hostname, current time and date
|
||||
in format defined by <hostname>_config.<current-date>@<current-time>
|
||||
type: str
|
||||
dir_path:
|
||||
description:
|
||||
- This option provides the path ending with directory name in which the backup
|
||||
|
@ -297,21 +324,15 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.icontrol import upload_file
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.icontrol import upload_file
|
||||
|
||||
|
||||
|
@ -388,7 +409,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -799,11 +820,11 @@ def main():
|
|||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,14 +23,17 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Specifies the name of the IPSec policy.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- Description of the policy
|
||||
type: str
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the IPsec protocol
|
||||
- Options include ESP (Encapsulating Security Protocol) or AH (Authentication Header).
|
||||
type: str
|
||||
choices:
|
||||
- esp
|
||||
- ah
|
||||
|
@ -48,6 +51,7 @@ options:
|
|||
Acceleration section of the user interface.
|
||||
- When C(interface), specifies that the IPsec policy can be used in the tunnel
|
||||
profile for network interfaces.
|
||||
type: str
|
||||
choices:
|
||||
- transport
|
||||
- interface
|
||||
|
@ -57,13 +61,16 @@ options:
|
|||
description:
|
||||
- Specifies the local endpoint IP address of the IPsec tunnel.
|
||||
- This parameter is only valid when C(mode) is C(tunnel).
|
||||
type: str
|
||||
tunnel_remote_address:
|
||||
description:
|
||||
- Specifies the remote endpoint IP address of the IPsec tunnel.
|
||||
- This parameter is only valid when C(mode) is C(tunnel).
|
||||
type: str
|
||||
encrypt_algorithm:
|
||||
description:
|
||||
- Specifies the algorithm to use for IKE encryption.
|
||||
type: str
|
||||
choices:
|
||||
- none
|
||||
- 3des
|
||||
|
@ -80,9 +87,11 @@ options:
|
|||
route_domain:
|
||||
description:
|
||||
- Specifies the route domain, when C(interface) is selected for the C(mode) setting.
|
||||
type: int
|
||||
auth_algorithm:
|
||||
description:
|
||||
- Specifies the algorithm to use for IKE authentication.
|
||||
type: str
|
||||
choices:
|
||||
- sha1
|
||||
- sha256
|
||||
|
@ -100,6 +109,7 @@ options:
|
|||
- When C(none), specifies that IPComp is disabled.
|
||||
- When C(deflate), specifies that IPComp is enabled and uses the Deflate
|
||||
compression algorithm.
|
||||
type: str
|
||||
choices:
|
||||
- none
|
||||
- "null"
|
||||
|
@ -108,13 +118,16 @@ options:
|
|||
description:
|
||||
- Specifies the length of time, in minutes, before the IKE security association
|
||||
expires.
|
||||
type: int
|
||||
kb_lifetime:
|
||||
description:
|
||||
- Specifies the length of time, in kilobytes, before the IKE security association
|
||||
expires.
|
||||
type: int
|
||||
perfect_forward_secrecy:
|
||||
description:
|
||||
- Specifies the Diffie-Hellman group to use for IKE Phase 2 negotiation.
|
||||
type: str
|
||||
choices:
|
||||
- none
|
||||
- modp768
|
||||
|
@ -128,15 +141,17 @@ options:
|
|||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the resource exists.
|
||||
- When C(absent), ensures the resource is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -230,21 +245,15 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
|
||||
|
||||
|
@ -442,7 +451,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -684,18 +693,15 @@ def main():
|
|||
module = AnsibleModule(
|
||||
argument_spec=spec.argument_spec,
|
||||
supports_check_mode=spec.supports_check_mode,
|
||||
required_if=spec.required_if
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -26,9 +26,11 @@ options:
|
|||
the specified value. This is for simple values, but can be used with
|
||||
lookup plugins for anything complex or with formatting. Either one
|
||||
of C(src) or C(content) must be provided.
|
||||
type: str
|
||||
module:
|
||||
description:
|
||||
- The BIG-IP module to add the iRule to.
|
||||
type: str
|
||||
required: True
|
||||
choices:
|
||||
- ltm
|
||||
|
@ -36,22 +38,26 @@ options:
|
|||
name:
|
||||
description:
|
||||
- The name of the iRule.
|
||||
type: str
|
||||
required: True
|
||||
src:
|
||||
description:
|
||||
- The iRule file to interpret and upload to the BIG-IP. Either one
|
||||
of C(src) or C(content) must be provided.
|
||||
type: path
|
||||
required: True
|
||||
state:
|
||||
description:
|
||||
- Whether the iRule should exist or not.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
extends_documentation_fragment: f5
|
||||
|
@ -113,20 +119,14 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
|
||||
|
||||
class Parameters(AnsibleF5Parameters):
|
||||
|
@ -244,7 +244,7 @@ class ModuleManager(object):
|
|||
class BaseManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.have = None
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.changes = UsableChanges()
|
||||
|
@ -565,16 +565,12 @@ def main():
|
|||
mutually_exclusive=spec.mutually_exclusive
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,11 +23,13 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Specifies the name of the log destination.
|
||||
type: str
|
||||
required: True
|
||||
type:
|
||||
description:
|
||||
- Specifies the type of log destination.
|
||||
- Once created, this parameter cannot be changed.
|
||||
type: str
|
||||
choices:
|
||||
- remote-high-speed-log
|
||||
- remote-syslog
|
||||
|
@ -39,6 +41,7 @@ options:
|
|||
description:
|
||||
description:
|
||||
- The description of the log destination.
|
||||
type: str
|
||||
pool_settings:
|
||||
description:
|
||||
- This parameter is only available when C(type) is C(remote-high-speed-log).
|
||||
|
@ -49,12 +52,14 @@ options:
|
|||
- Specifies the existing pool of remote high-speed log servers where logs will be sent.
|
||||
- When creating a new destination (and C(type) is C(remote-high-speed-log)), this parameter
|
||||
is required.
|
||||
type: str
|
||||
protocol:
|
||||
description:
|
||||
- Specifies the protocol for the system to use to send logs to the pool of remote high-speed
|
||||
log servers, where the logs are stored.
|
||||
- When creating a new log destination (and C(type) is C(remote-high-speed-log)), if this
|
||||
parameter is not specified, the default is C(tcp).
|
||||
type: str
|
||||
choices:
|
||||
- tcp
|
||||
- udp
|
||||
|
@ -70,10 +75,12 @@ options:
|
|||
- When C(replicated), replicates each log to all pool members, for redundancy.
|
||||
- When creating a new log destination (and C(type) is C(remote-high-speed-log)), if this
|
||||
parameter is not specified, the default is C(adaptive).
|
||||
type: str
|
||||
choices:
|
||||
- adaptive
|
||||
- balanced
|
||||
- replicated
|
||||
type: dict
|
||||
syslog_settings:
|
||||
description:
|
||||
- This parameter is only available when C(type) is C(remote-syslog).
|
||||
|
@ -86,6 +93,7 @@ options:
|
|||
not specified, the default is C(bsd-syslog).
|
||||
- The C(syslog) and C(rfc5424) choices are two ways of saying the same thing.
|
||||
- The C(bsd-syslog) and C(rfc3164) choices are two ways of saying the same thing.
|
||||
type: str
|
||||
choices:
|
||||
- bsd-syslog
|
||||
- syslog
|
||||
|
@ -98,6 +106,8 @@ options:
|
|||
single log server, or a remote high-speed log destination, which will be used to forward the
|
||||
logs to a pool of remote log servers.
|
||||
- When creating a new log destination (and C(type) is C(remote-syslog)), this parameter is required.
|
||||
type: str
|
||||
type: dict
|
||||
syslog_format:
|
||||
description:
|
||||
- Specifies the method to use to format the logs associated with the remote Syslog log destination.
|
||||
|
@ -105,6 +115,7 @@ options:
|
|||
not specified, the default is C(bsd-syslog).
|
||||
- The C(syslog) and C(rfc5424) choices are two ways of saying the same thing.
|
||||
- The C(bsd-syslog) and C(rfc3164) choices are two ways of saying the same thing.
|
||||
type: str
|
||||
choices:
|
||||
- bsd-syslog
|
||||
- syslog
|
||||
|
@ -123,6 +134,7 @@ options:
|
|||
ArcSight or Splunk server.
|
||||
- When creating a new log destination and C(type) is C(remote-syslog), C(splunk), or C(arcsight),
|
||||
this parameter is required.
|
||||
type: str
|
||||
version_added: 2.8
|
||||
pool:
|
||||
description:
|
||||
|
@ -133,6 +145,7 @@ options:
|
|||
of collectors.
|
||||
- When creating a new destination and C(type) is C(remote-high-speed-log) or C(ipfix), this
|
||||
parameter is required.
|
||||
type: str
|
||||
version_added: 2.8
|
||||
protocol:
|
||||
description:
|
||||
|
@ -143,6 +156,7 @@ options:
|
|||
- When C(type) is C(management-port), specifies the protocol used to send messages to the
|
||||
specified location.
|
||||
- When C(type) is C(management-port), only C(tcp) and C(udp) are valid values.
|
||||
type: str
|
||||
choices:
|
||||
- tcp
|
||||
- udp
|
||||
|
@ -161,6 +175,7 @@ options:
|
|||
- When C(replicated), replicates each log to all pool members, for redundancy.
|
||||
- When creating a new log destination and C(type) is C(remote-high-speed-log), if this
|
||||
parameter is not specified, the default is C(adaptive).
|
||||
type: str
|
||||
choices:
|
||||
- adaptive
|
||||
- balanced
|
||||
|
@ -172,6 +187,7 @@ options:
|
|||
- This parameter is only available when C(type) is C(management-port).
|
||||
- When creating a new log destination and C(type) is C(management-port), this parameter
|
||||
is required.
|
||||
type: str
|
||||
version_added: 2.8
|
||||
port:
|
||||
description:
|
||||
|
@ -180,6 +196,7 @@ options:
|
|||
- This parameter is only available when C(type) is C(management-port).
|
||||
- When creating a new log destination and C(type) is C(management-port), this parameter
|
||||
is required.
|
||||
type: int
|
||||
version_added: 2.8
|
||||
transport_profile:
|
||||
description:
|
||||
|
@ -187,6 +204,7 @@ options:
|
|||
- This profile defines the TCP or UDP options used to send IP-traffic logs
|
||||
to the pool of collectors.
|
||||
- This parameter is only available when C(type) is C(ipfix).
|
||||
type: str
|
||||
version_added: 2.8
|
||||
server_ssl_profile:
|
||||
description:
|
||||
|
@ -196,6 +214,7 @@ options:
|
|||
- An SSL server profile defines how to communicate securely over SSL or
|
||||
Transport Layer Security (TLS).
|
||||
- This parameter is only available when C(type) is C(ipfix).
|
||||
type: str
|
||||
version_added: 2.8
|
||||
template_retransmit_interval:
|
||||
description:
|
||||
|
@ -205,6 +224,7 @@ options:
|
|||
at the interval you set in this field. These retransmissions are helpful
|
||||
for UDP, a lossy transport mechanism.
|
||||
- This parameter is only available when C(type) is C(ipfix).
|
||||
type: int
|
||||
version_added: 2.8
|
||||
template_delete_delay:
|
||||
description:
|
||||
|
@ -212,19 +232,22 @@ options:
|
|||
deleting an obsolete IPFIX template and reusing its template ID.
|
||||
- This feature is useful for systems where you use iRules to create
|
||||
customized IPFIX templates.
|
||||
type: int
|
||||
version_added: 2.8
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the resource exists.
|
||||
- When C(absent), ensures the resource is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -320,23 +343,17 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
||||
|
@ -683,7 +700,7 @@ class Difference(object):
|
|||
class BaseManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
|
||||
def _set_changed_options(self):
|
||||
changed = {}
|
||||
|
@ -1732,19 +1749,16 @@ def main():
|
|||
|
||||
module = AnsibleModule(
|
||||
argument_spec=spec.argument_spec,
|
||||
supports_check_mode=spec.supports_check_mode
|
||||
supports_check_mode=spec.supports_check_mode,
|
||||
mutually_exclusive=spec.mutually_exclusive
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,25 +23,30 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Specifies the name of the log publisher.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- Specifies a description for the log publisher.
|
||||
type: str
|
||||
destinations:
|
||||
description:
|
||||
- Specifies log destinations for this log publisher to use.
|
||||
type: list
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the resource exists.
|
||||
- When C(absent), ensures the resource is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -83,23 +88,17 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.compare import cmp_simple_list
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.compare import cmp_simple_list
|
||||
|
||||
|
||||
|
@ -200,7 +199,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -414,16 +413,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,14 +23,17 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Specifies the name of the management route.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- Description of the management route.
|
||||
type: str
|
||||
gateway:
|
||||
description:
|
||||
- Specifies that the system forwards packets to the destination through the
|
||||
gateway with the specified IP address.
|
||||
type: str
|
||||
network:
|
||||
description:
|
||||
- The subnet and netmask to be used for the route.
|
||||
|
@ -39,18 +42,21 @@ options:
|
|||
- Only one C(default) entry is allowed.
|
||||
- This parameter cannot be changed after it is set. Therefore, if you do need to change
|
||||
it, it is required that you delete and create a new route.
|
||||
type: str
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the resource exists.
|
||||
- When C(absent), ensures the resource is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -97,20 +103,14 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.compat.ipaddress import ip_network
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.compat.ipaddress import ip_network
|
||||
|
||||
|
@ -226,7 +226,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -441,16 +441,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -29,10 +29,12 @@ options:
|
|||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(dns)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/dns
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval specifying how frequently the monitor instance of this
|
||||
|
@ -40,6 +42,7 @@ options:
|
|||
- This value B(must) be less than the C(timeout) value.
|
||||
- When creating a new monitor, if this parameter is not provided, the
|
||||
default C(5) will be used.
|
||||
type: int
|
||||
up_interval:
|
||||
description:
|
||||
- Specifies the interval for the system to use to perform the health check
|
||||
|
@ -50,6 +53,7 @@ options:
|
|||
use when checking the health of a resource that is up.
|
||||
- When creating a new monitor, if this parameter is not provided, the
|
||||
default C(0) will be used.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -60,6 +64,7 @@ options:
|
|||
interval number of seconds plus 1 second.
|
||||
- If this parameter is not provided when creating a new monitor, then the default
|
||||
value will be C(16).
|
||||
type: int
|
||||
transparent:
|
||||
description:
|
||||
- Specifies whether the monitor operates in transparent mode.
|
||||
|
@ -82,6 +87,7 @@ options:
|
|||
- Specifies the IP address that the monitor uses from the resource record sections
|
||||
of the DNS response.
|
||||
- The IP address should be specified in the dotted-decimal notation or IPv6 notation.
|
||||
type: str
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -90,6 +96,7 @@ options:
|
|||
response is received from the node.
|
||||
- If this parameter is not provided when creating a new monitor, then the default
|
||||
value will be C(0).
|
||||
type: int
|
||||
manual_resume:
|
||||
description:
|
||||
- Specifies whether the system automatically changes the status of a resource
|
||||
|
@ -108,15 +115,18 @@ options:
|
|||
- IP address part of the IP/port definition.
|
||||
- If this parameter is not provided when creating a new monitor, then the
|
||||
default value will be C(*).
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition.
|
||||
- If this parameter is not provided when creating a new monitor, then the default
|
||||
value will be C(*).
|
||||
- Note that if specifying an IP address, a value between 1 and 65535 must be specified.
|
||||
type: str
|
||||
query_name:
|
||||
description:
|
||||
- Specifies a query name for the monitor to use in a DNS query.
|
||||
type: str
|
||||
query_type:
|
||||
description:
|
||||
- Specifies the type of DNS query that the monitor sends.
|
||||
|
@ -124,6 +134,7 @@ options:
|
|||
value is C(a).
|
||||
- When C(a), specifies that the monitor will send a DNS query of type A.
|
||||
- When C(aaaa), specifies that the monitor will send a DNS query of type AAAA.
|
||||
type: str
|
||||
choices:
|
||||
- a
|
||||
- aaaa
|
||||
|
@ -137,6 +148,7 @@ options:
|
|||
- When C(any-type), specifies that the DNS message should contain at least one answer.
|
||||
- When C(anything), specifies that an empty answer is enough to mark the status of
|
||||
the node up.
|
||||
type: str
|
||||
choices:
|
||||
- any-type
|
||||
- anything
|
||||
|
@ -152,6 +164,7 @@ options:
|
|||
irrespective of the RCODE in the DNS message received.
|
||||
- If this parameter is set to C(anything), it will disregard the C(receive)
|
||||
string, and nullify it if the monitor is being updated.
|
||||
type: str
|
||||
choices:
|
||||
- no-error
|
||||
- anything
|
||||
|
@ -175,6 +188,7 @@ options:
|
|||
latency value you set, the pool member or node is marked down.
|
||||
- When C(relative), the percentage of deviation the latency of a monitor probe
|
||||
can exceed the mean latency of a monitor probe for the service being probed.
|
||||
type: str
|
||||
choices:
|
||||
- relative
|
||||
- absolute
|
||||
|
@ -182,6 +196,7 @@ options:
|
|||
description:
|
||||
- When specifying a new monitor, if C(adaptive) is C(yes), and C(type) is
|
||||
C(relative), the default is C(25) percent.
|
||||
type: int
|
||||
adaptive_limit:
|
||||
description:
|
||||
- Specifies the absolute number of milliseconds that may not be exceeded by a monitor
|
||||
|
@ -190,24 +205,28 @@ options:
|
|||
- This value applies regardless of the value of the C(allowed_divergence) setting.
|
||||
- While this value can be configured when C(adaptive) is C(no), it will not take
|
||||
effect on the system until C(adaptive) is C(yes).
|
||||
type: int
|
||||
sampling_timespan:
|
||||
description:
|
||||
- Specifies the length, in seconds, of the probe history window that the system
|
||||
uses to calculate the mean latency and standard deviation of a monitor probe.
|
||||
- While this value can be configured when C(adaptive) is C(no), it will not take
|
||||
effect on the system until C(adaptive) is C(yes).
|
||||
type: int
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -352,12 +371,9 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import flatten_boolean
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.network.f5.ipaddress import validate_ip_v6_address
|
||||
|
@ -367,12 +383,9 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import flatten_boolean
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.network.f5.ipaddress import validate_ip_v6_address
|
||||
|
@ -708,7 +721,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -1002,16 +1015,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,32 +23,38 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the
|
||||
C(gateway_icmp) parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/gateway_icmp
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'. Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- Specifies, in seconds, the frequency at which the system issues the
|
||||
monitor check when either the resource is down or the status of the
|
||||
resource is unknown.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- Specifies the number of seconds the target has in which to respond to
|
||||
|
@ -59,6 +65,7 @@ options:
|
|||
from the parent monitor.
|
||||
- Note that C(timeout) and C(time_until_up) combine to control when a
|
||||
resource is set to up.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the number of seconds to wait after a resource first responds
|
||||
|
@ -67,6 +74,7 @@ options:
|
|||
- When the interval expires, the resource is marked 'up'.
|
||||
- A value of 0, means that the resource is marked up immediately upon
|
||||
receipt of the first correct response.
|
||||
type: int
|
||||
up_interval:
|
||||
description:
|
||||
- Specifies the interval for the system to use to perform the health check
|
||||
|
@ -75,6 +83,7 @@ options:
|
|||
C(interval) to check the health of the resource.
|
||||
- When any other number, enables specification of a different interval to
|
||||
use when checking the health of a resource that is up.
|
||||
type: int
|
||||
manual_resume:
|
||||
description:
|
||||
- Specifies whether the system automatically changes the status of a resource
|
||||
|
@ -106,6 +115,7 @@ options:
|
|||
latency value you set, the pool member or node is marked down.
|
||||
- When C(relative), the percentage of deviation the latency of a monitor probe
|
||||
can exceed the mean latency of a monitor probe for the service being probed.
|
||||
type: str
|
||||
choices:
|
||||
- relative
|
||||
- absolute
|
||||
|
@ -113,6 +123,7 @@ options:
|
|||
description:
|
||||
- When specifying a new monitor, if C(adaptive) is C(yes), and C(type) is
|
||||
C(relative), the default is C(25) percent.
|
||||
type: int
|
||||
adaptive_limit:
|
||||
description:
|
||||
- Specifies the absolute number of milliseconds that may not be exceeded by a monitor
|
||||
|
@ -121,12 +132,14 @@ options:
|
|||
- This value applies regardless of the value of the C(allowed_divergence) setting.
|
||||
- While this value can be configured when C(adaptive) is C(no), it will not take
|
||||
effect on the system until C(adaptive) is C(yes).
|
||||
type: int
|
||||
sampling_timespan:
|
||||
description:
|
||||
- Specifies the length, in seconds, of the probe history window that the system
|
||||
uses to calculate the mean latency and standard deviation of a monitor probe.
|
||||
- While this value can be configured when C(adaptive) is C(no), it will not take
|
||||
effect on the system until C(adaptive) is C(yes).
|
||||
type: int
|
||||
transparent:
|
||||
description:
|
||||
- Specifies whether the monitor operates in transparent mode.
|
||||
|
@ -141,15 +154,17 @@ options:
|
|||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -254,11 +269,8 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import flatten_boolean
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
|
@ -267,11 +279,8 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import flatten_boolean
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
|
@ -555,7 +564,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -780,16 +789,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -22,47 +22,56 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(http)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/http
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
send:
|
||||
description:
|
||||
- The send string for the monitor call. When creating a new monitor, if
|
||||
this value is not provided, the default C(GET /\r\n) will be used.
|
||||
type: str
|
||||
receive:
|
||||
description:
|
||||
- The receive string for the monitor call.
|
||||
type: str
|
||||
receive_disable:
|
||||
description:
|
||||
- This setting works like C(receive), except that the system marks the node
|
||||
or pool member disabled when its response matches the C(receive_disable)
|
||||
string but not C(receive). To use this setting, you must specify both
|
||||
C(receive_disable) and C(receive).
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'. Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval specifying how frequently the monitor instance of this
|
||||
template will run. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 5. This value B(must)
|
||||
be less than the C(timeout) value.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -72,6 +81,7 @@ options:
|
|||
number to any number you want, however, it should be 3 times the
|
||||
interval number of seconds plus 1 second. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be 16.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -79,12 +89,15 @@ options:
|
|||
node to be marked up immediately after a valid response is received
|
||||
from the node. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 0.
|
||||
type: int
|
||||
target_username:
|
||||
description:
|
||||
- Specifies the user name, if the monitored target requires authentication.
|
||||
type: str
|
||||
target_password:
|
||||
description:
|
||||
- Specifies the password, if the monitored target requires authentication.
|
||||
type: str
|
||||
reverse:
|
||||
description:
|
||||
- Specifies whether the monitor operates in reverse mode.
|
||||
|
@ -99,16 +112,18 @@ options:
|
|||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -198,12 +213,9 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import flatten_boolean
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
@ -211,12 +223,9 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import flatten_boolean
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
@ -480,7 +489,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -734,16 +743,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -22,47 +22,56 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(https)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/https
|
||||
send:
|
||||
description:
|
||||
- The send string for the monitor call. When creating a new monitor, if
|
||||
this value is not provided, the default C(GET /\\r\\n) will be used.
|
||||
type: str
|
||||
receive:
|
||||
description:
|
||||
- The receive string for the monitor call.
|
||||
type: str
|
||||
receive_disable:
|
||||
description:
|
||||
- This setting works like C(receive), except that the system marks the node
|
||||
or pool member disabled when its response matches the C(receive_disable)
|
||||
string but not C(receive). To use this setting, you must specify both
|
||||
C(receive_disable) and C(receive).
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'. Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval specifying how frequently the monitor instance of this
|
||||
template will run. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 5. This value B(must)
|
||||
be less than the C(timeout) value.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -72,6 +81,7 @@ options:
|
|||
number to any number you want, however, it should be 3 times the
|
||||
interval number of seconds plus 1 second. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be 16.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -79,18 +89,22 @@ options:
|
|||
node to be marked up immediately after a valid response is received
|
||||
from the node. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 0.
|
||||
type: int
|
||||
target_username:
|
||||
description:
|
||||
- Specifies the user name, if the monitored target requires authentication.
|
||||
type: str
|
||||
target_password:
|
||||
description:
|
||||
- Specifies the password, if the monitored target requires authentication.
|
||||
type: str
|
||||
ssl_profile:
|
||||
description:
|
||||
- Specifies the SSL profile to use for the HTTPS monitor.
|
||||
- Defining SSL profiles enables refined customization of the SSL attributes
|
||||
for an HTTPS monitor.
|
||||
- This parameter is only supported on BIG-IP versions 13.x and later.
|
||||
type: str
|
||||
version_added: 2.8
|
||||
up_interval:
|
||||
description:
|
||||
|
@ -100,19 +114,22 @@ options:
|
|||
C(interval) to check the health of the resource.
|
||||
- When any other number, enables specification of a different interval to
|
||||
use when checking the health of a resource that is up.
|
||||
type: int
|
||||
version_added: 2.8
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -190,12 +207,9 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
@ -203,12 +217,9 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
@ -482,7 +493,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -719,16 +730,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -23,21 +23,25 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- Specifies descriptive text that identifies the monitor.
|
||||
type: str
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed.
|
||||
- By default, this value is the C(ldap) parent on the C(Common) partition.
|
||||
type: str
|
||||
default: "/Common/ldap"
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
|
@ -45,11 +49,13 @@ options:
|
|||
'*'.
|
||||
- Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- Specifies, in seconds, the frequency at which the system issues the
|
||||
monitor check when either the resource is down or the status of the
|
||||
resource is unknown.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- Specifies the number of seconds the target has in which to respond to
|
||||
|
@ -60,6 +66,7 @@ options:
|
|||
from the parent monitor.
|
||||
- Note that C(timeout) and C(time_until_up) combine to control when a
|
||||
resource is set to up.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the number of seconds to wait after a resource first responds
|
||||
|
@ -68,6 +75,7 @@ options:
|
|||
- When the interval expires, the resource is marked 'up'.
|
||||
- A value of 0, means that the resource is marked up immediately upon
|
||||
receipt of the first correct response.
|
||||
type: int
|
||||
up_interval:
|
||||
description:
|
||||
- Specifies the interval for the system to use to perform the health check
|
||||
|
@ -76,6 +84,7 @@ options:
|
|||
C(interval) to check the health of the resource.
|
||||
- When any other number, enables specification of a different interval to
|
||||
use when checking the health of a resource that is up.
|
||||
type: int
|
||||
manual_resume:
|
||||
description:
|
||||
- Specifies whether the system automatically changes the status of a resource
|
||||
|
@ -90,19 +99,24 @@ options:
|
|||
target_username:
|
||||
description:
|
||||
- Specifies the user name, if the monitored target requires authentication.
|
||||
type: str
|
||||
target_password:
|
||||
description:
|
||||
- Specifies the password, if the monitored target requires authentication.
|
||||
type: str
|
||||
base:
|
||||
description:
|
||||
- Specifies the location in the LDAP tree from which the monitor starts the
|
||||
health check.
|
||||
type: str
|
||||
filter:
|
||||
description:
|
||||
- Specifies an LDAP key for which the monitor searches.
|
||||
type: str
|
||||
security:
|
||||
description:
|
||||
- Specifies the secure protocol type for communications with the target.
|
||||
type: str
|
||||
choices:
|
||||
- none
|
||||
- ssl
|
||||
|
@ -126,22 +140,25 @@ options:
|
|||
description:
|
||||
- C(always) will update passwords if the C(target_password) is specified.
|
||||
- C(on_create) will only set the password for newly created monitors.
|
||||
default: always
|
||||
type: str
|
||||
choices:
|
||||
- always
|
||||
- on_create
|
||||
default: always
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
extends_documentation_fragment: f5
|
||||
author:
|
||||
- Tim Rupp (@caphrim007)
|
||||
|
@ -233,11 +250,8 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import flatten_boolean
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
|
@ -246,11 +260,8 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import flatten_boolean
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
|
@ -560,7 +571,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -798,16 +809,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -25,21 +25,25 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
description:
|
||||
description:
|
||||
- Specifies descriptive text that identifies the monitor.
|
||||
type: str
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(snmp_dca)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: "/Common/snmp_dca"
|
||||
interval:
|
||||
description:
|
||||
- Specifies, in seconds, the frequency at which the system issues the
|
||||
monitor check when either the resource is down or the status of the
|
||||
resource is unknown. When creating a new monitor, the default is C(10).
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- Specifies the number of seconds the target has in which to respond to
|
||||
|
@ -50,6 +54,7 @@ options:
|
|||
the system uses the interval from the parent monitor. Note that
|
||||
C(timeout) and C(time_until_up) combine to control when a resource is
|
||||
set to up.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the number of seconds to wait after a resource first responds
|
||||
|
@ -58,17 +63,20 @@ options:
|
|||
interval expires, the resource is marked 'up'. A value of 0, means
|
||||
that the resource is marked up immediately upon receipt of the first
|
||||
correct response. When creating a new monitor, the default is C(0).
|
||||
type: int
|
||||
community:
|
||||
description:
|
||||
- Specifies the community name that the system must use to authenticate
|
||||
with the host server through SNMP. When creating a new monitor, the
|
||||
default value is C(public). Note that this value is case sensitive.
|
||||
type: str
|
||||
version:
|
||||
description:
|
||||
- Specifies the version of SNMP that the host server uses. When creating
|
||||
a new monitor, the default is C(v1). When C(v1), specifies that the
|
||||
host server uses SNMP version 1. When C(v2c), specifies that the host
|
||||
server uses SNMP version 2c.
|
||||
type: str
|
||||
choices:
|
||||
- v1
|
||||
- v2c
|
||||
|
@ -76,6 +84,7 @@ options:
|
|||
description:
|
||||
- Specifies the SNMP agent running on the monitored server. When creating
|
||||
a new monitor, the default is C(UCD) (UC-Davis).
|
||||
type: str
|
||||
choices:
|
||||
- UCD
|
||||
- WIN2000
|
||||
|
@ -85,40 +94,48 @@ options:
|
|||
- Specifies the coefficient that the system uses to calculate the weight
|
||||
of the CPU threshold in the dynamic ratio load balancing algorithm.
|
||||
When creating a new monitor, the default is C(1.5).
|
||||
type: str
|
||||
cpu_threshold:
|
||||
description:
|
||||
- Specifies the maximum acceptable CPU usage on the target server. When
|
||||
creating a new monitor, the default is C(80) percent.
|
||||
type: int
|
||||
memory_coefficient:
|
||||
description:
|
||||
- Specifies the coefficient that the system uses to calculate the weight
|
||||
of the memory threshold in the dynamic ratio load balancing algorithm.
|
||||
When creating a new monitor, the default is C(1.0).
|
||||
type: str
|
||||
memory_threshold:
|
||||
description:
|
||||
- Specifies the maximum acceptable memory usage on the target server.
|
||||
When creating a new monitor, the default is C(70) percent.
|
||||
type: int
|
||||
disk_coefficient:
|
||||
description:
|
||||
- Specifies the coefficient that the system uses to calculate the weight
|
||||
of the disk threshold in the dynamic ratio load balancing algorithm.
|
||||
When creating a new monitor, the default is C(2.0).
|
||||
type: str
|
||||
disk_threshold:
|
||||
description:
|
||||
- Specifies the maximum acceptable disk usage on the target server. When
|
||||
creating a new monitor, the default is C(90) percent.
|
||||
type: int
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -234,23 +251,17 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
||||
|
@ -490,7 +501,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -741,16 +752,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -22,23 +22,28 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(tcp)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/tcp
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
send:
|
||||
description:
|
||||
- The send string for the monitor call.
|
||||
type: str
|
||||
receive:
|
||||
description:
|
||||
- The receive string for the monitor call.
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
|
@ -46,6 +51,7 @@ options:
|
|||
'*'.
|
||||
- If this value is an IP address, and the C(type) is C(tcp) (the default),
|
||||
then a C(port) number must be specified.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
|
@ -53,12 +59,14 @@ options:
|
|||
'*'. Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified
|
||||
- This argument is not supported for TCP Echo types.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval specifying how frequently the monitor instance of this
|
||||
template will run. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 5. This value B(must)
|
||||
be less than the C(timeout) value.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -68,6 +76,7 @@ options:
|
|||
number to any number you want, however, it should be 3 times the
|
||||
interval number of seconds plus 1 second. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be 16.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -75,19 +84,22 @@ options:
|
|||
node to be marked up immediately after a valid response is received
|
||||
from the node. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 0.
|
||||
type: int
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -176,12 +188,9 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
@ -189,12 +198,9 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
@ -419,7 +425,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -649,16 +655,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -22,28 +22,33 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(tcp_echo)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/tcp_echo
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval specifying how frequently the monitor instance of this
|
||||
template will run. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 5. This value B(must)
|
||||
be less than the C(timeout) value.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -53,6 +58,7 @@ options:
|
|||
number to any number you want, however, it should be 3 times the
|
||||
interval number of seconds plus 1 second. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be 16.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -60,19 +66,22 @@ options:
|
|||
node to be marked up immediately after a valid response is received
|
||||
from the node. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 0.
|
||||
type: int
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -147,22 +156,16 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
@ -360,7 +363,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -585,16 +588,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -22,16 +22,19 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(tcp_half_open)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/tcp_half_open
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
ip:
|
||||
description:
|
||||
|
@ -40,12 +43,14 @@ options:
|
|||
'*'.
|
||||
- If this value is an IP address, and the C(type) is C(tcp) (the default),
|
||||
then a C(port) number must be specified.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'. Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified
|
||||
type: str
|
||||
version_added: 2.5
|
||||
interval:
|
||||
description:
|
||||
|
@ -53,6 +58,7 @@ options:
|
|||
template will run. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 5. This value B(must)
|
||||
be less than the C(timeout) value.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -62,6 +68,7 @@ options:
|
|||
number to any number you want, however, it should be 3 times the
|
||||
interval number of seconds plus 1 second. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be 16.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -69,19 +76,22 @@ options:
|
|||
node to be marked up immediately after a valid response is received
|
||||
from the node. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 0.
|
||||
type: int
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -167,22 +177,16 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
except ImportError:
|
||||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
|
||||
|
@ -407,7 +411,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -635,16 +639,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -22,47 +22,56 @@ options:
|
|||
name:
|
||||
description:
|
||||
- Monitor name.
|
||||
type: str
|
||||
required: True
|
||||
parent:
|
||||
description:
|
||||
- The parent template of this monitor template. Once this value has
|
||||
been set, it cannot be changed. By default, this value is the C(udp)
|
||||
parent on the C(Common) partition.
|
||||
type: str
|
||||
default: /Common/udp
|
||||
description:
|
||||
description:
|
||||
- The description of the monitor.
|
||||
type: str
|
||||
version_added: 2.7
|
||||
send:
|
||||
description:
|
||||
- The send string for the monitor call. When creating a new monitor, if
|
||||
this value is not provided, the default C(default send string) will be used.
|
||||
type: str
|
||||
receive:
|
||||
description:
|
||||
- The receive string for the monitor call.
|
||||
type: str
|
||||
receive_disable:
|
||||
description:
|
||||
- This setting works like C(receive), except that the system marks the node
|
||||
or pool member disabled when its response matches the C(receive_disable)
|
||||
string but not C(receive). To use this setting, you must specify both
|
||||
C(receive_disable) and C(receive).
|
||||
type: str
|
||||
ip:
|
||||
description:
|
||||
- IP address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'.
|
||||
type: str
|
||||
port:
|
||||
description:
|
||||
- Port address part of the IP/port definition. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be
|
||||
'*'. Note that if specifying an IP address, a value between 1 and 65535
|
||||
must be specified.
|
||||
type: str
|
||||
interval:
|
||||
description:
|
||||
- The interval specifying how frequently the monitor instance of this
|
||||
template will run. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 5. This value B(must)
|
||||
be less than the C(timeout) value.
|
||||
type: int
|
||||
timeout:
|
||||
description:
|
||||
- The number of seconds in which the node or service must respond to
|
||||
|
@ -72,6 +81,7 @@ options:
|
|||
number to any number you want, however, it should be 3 times the
|
||||
interval number of seconds plus 1 second. If this parameter is not
|
||||
provided when creating a new monitor, then the default value will be 16.
|
||||
type: int
|
||||
time_until_up:
|
||||
description:
|
||||
- Specifies the amount of time in seconds after the first successful
|
||||
|
@ -79,19 +89,22 @@ options:
|
|||
node to be marked up immediately after a valid response is received
|
||||
from the node. If this parameter is not provided when creating
|
||||
a new monitor, then the default value will be 0.
|
||||
type: int
|
||||
partition:
|
||||
description:
|
||||
- Device partition to manage resources on.
|
||||
type: str
|
||||
default: Common
|
||||
version_added: 2.5
|
||||
state:
|
||||
description:
|
||||
- When C(present), ensures that the monitor exists.
|
||||
- When C(absent), ensures the monitor is removed.
|
||||
default: present
|
||||
type: str
|
||||
choices:
|
||||
- present
|
||||
- absent
|
||||
default: present
|
||||
version_added: 2.5
|
||||
notes:
|
||||
- Requires BIG-IP software version >= 12
|
||||
|
@ -165,12 +178,9 @@ try:
|
|||
from library.module_utils.network.f5.bigip import F5RestClient
|
||||
from library.module_utils.network.f5.common import F5ModuleError
|
||||
from library.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from library.module_utils.network.f5.common import cleanup_tokens
|
||||
from library.module_utils.network.f5.common import fq_name
|
||||
from library.module_utils.network.f5.common import f5_argument_spec
|
||||
from library.module_utils.network.f5.common import transform_name
|
||||
from library.module_utils.network.f5.common import exit_json
|
||||
from library.module_utils.network.f5.common import fail_json
|
||||
from library.module_utils.network.f5.compare import cmp_str_with_none
|
||||
from library.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
|
||||
|
@ -178,12 +188,9 @@ except ImportError:
|
|||
from ansible.module_utils.network.f5.bigip import F5RestClient
|
||||
from ansible.module_utils.network.f5.common import F5ModuleError
|
||||
from ansible.module_utils.network.f5.common import AnsibleF5Parameters
|
||||
from ansible.module_utils.network.f5.common import cleanup_tokens
|
||||
from ansible.module_utils.network.f5.common import fq_name
|
||||
from ansible.module_utils.network.f5.common import f5_argument_spec
|
||||
from ansible.module_utils.network.f5.common import transform_name
|
||||
from ansible.module_utils.network.f5.common import exit_json
|
||||
from ansible.module_utils.network.f5.common import fail_json
|
||||
from ansible.module_utils.network.f5.compare import cmp_str_with_none
|
||||
from ansible.module_utils.network.f5.ipaddress import is_valid_ip
|
||||
|
||||
|
@ -411,7 +418,7 @@ class Difference(object):
|
|||
class ModuleManager(object):
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.module = kwargs.get('module', None)
|
||||
self.client = kwargs.get('client', None)
|
||||
self.client = F5RestClient(**self.module.params)
|
||||
self.want = ModuleParameters(params=self.module.params)
|
||||
self.have = ApiParameters()
|
||||
self.changes = UsableChanges()
|
||||
|
@ -644,16 +651,12 @@ def main():
|
|||
supports_check_mode=spec.supports_check_mode,
|
||||
)
|
||||
|
||||
client = F5RestClient(**module.params)
|
||||
|
||||
try:
|
||||
mm = ModuleManager(module=module, client=client)
|
||||
mm = ModuleManager(module=module)
|
||||
results = mm.exec_module()
|
||||
cleanup_tokens(client)
|
||||
exit_json(module, results, client)
|
||||
module.exit_json(**results)
|
||||
except F5ModuleError as ex:
|
||||
cleanup_tokens(client)
|
||||
fail_json(module, ex, client)
|
||||
module.fail_json(msg=str(ex))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -81,9 +81,11 @@ class TestManager(unittest.TestCase):
|
|||
def test_update_hostname(self, *args):
|
||||
set_module_args(dict(
|
||||
hostname='foo2.internal.com',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
|
|
|
@ -323,9 +323,11 @@ class TestManager(unittest.TestCase):
|
|||
template='f5.http',
|
||||
parameters=parameters,
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -349,9 +351,11 @@ class TestManager(unittest.TestCase):
|
|||
template='f5.http',
|
||||
parameters=parameters,
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
# Configure the parameters that would be returned by querying the
|
||||
|
|
|
@ -101,9 +101,11 @@ class TestManager(unittest.TestCase):
|
|||
# Configure the arguments that would be sent to the Ansible module
|
||||
set_module_args(dict(
|
||||
content=load_fixture('basic-iapp.tmpl'),
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -124,9 +126,11 @@ class TestManager(unittest.TestCase):
|
|||
# Configure the arguments that would be sent to the Ansible module
|
||||
set_module_args(dict(
|
||||
content=load_fixture('basic-iapp.tmpl'),
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current1 = Parameters(params=load_fixture('load_sys_application_template_w_new_checksum.json'))
|
||||
|
@ -153,10 +157,12 @@ class TestManager(unittest.TestCase):
|
|||
def test_delete_iapp_template(self, *args):
|
||||
set_module_args(dict(
|
||||
content=load_fixture('basic-iapp.tmpl'),
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin',
|
||||
state='absent'
|
||||
state='absent',
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -176,10 +182,12 @@ class TestManager(unittest.TestCase):
|
|||
def test_delete_iapp_template_idempotent(self, *args):
|
||||
set_module_args(dict(
|
||||
content=load_fixture('basic-iapp.tmpl'),
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin',
|
||||
state='absent'
|
||||
state='absent',
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -89,14 +89,18 @@ class TestUntypedManager(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='ike1',
|
||||
version=['v1'],
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
required_if=self.spec.required_if,
|
||||
required_together=self.spec.required_together
|
||||
)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
|
|
|
@ -82,15 +82,20 @@ class TestManager(unittest.TestCase):
|
|||
parents='router bgp 64664',
|
||||
before='bfd slow-timer 2000',
|
||||
match='exact',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = load_fixture('load_imish_output_1.json')
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
mutually_exclusive=self.spec.mutually_exclusive,
|
||||
required_if=self.spec.required_if,
|
||||
add_file_common_args=self.spec.add_file_common_args
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
|
|
|
@ -88,14 +88,17 @@ class TestUntypedManager(unittest.TestCase):
|
|||
def test_create(self, *args):
|
||||
set_module_args(dict(
|
||||
name='ipsec1',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
required_if=self.spec.required_if
|
||||
)
|
||||
|
||||
# Override methods to force specific logic in the module to happen
|
||||
|
|
|
@ -140,9 +140,11 @@ class TestManager(unittest.TestCase):
|
|||
module='ltm',
|
||||
content='this is my content',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -171,9 +173,11 @@ class TestManager(unittest.TestCase):
|
|||
module='gtm',
|
||||
content='this is my content',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -202,9 +206,11 @@ class TestManager(unittest.TestCase):
|
|||
module='gtm',
|
||||
src='{0}/create_ltm_irule.tcl'.format(fixture_path),
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -244,9 +250,11 @@ class TestManager(unittest.TestCase):
|
|||
state='present',
|
||||
src='/path/to/irules/foo.tcl',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
with patch('ansible.module_utils.basic.AnsibleModule.fail_json', unsafe=True) as mo:
|
||||
|
|
|
@ -80,9 +80,11 @@ class TestV1Parameters(unittest.TestCase):
|
|||
forward_to='pool1',
|
||||
syslog_format='rfc5424'
|
||||
),
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
)
|
||||
p = V1ModuleParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
|
@ -110,14 +112,17 @@ class TestV1Manager(unittest.TestCase):
|
|||
forward_to='pool1',
|
||||
),
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
argument_spec=self.spec.argument_spec,
|
||||
supports_check_mode=self.spec.supports_check_mode
|
||||
supports_check_mode=self.spec.supports_check_mode,
|
||||
mutually_exclusive=self.spec.mutually_exclusive
|
||||
)
|
||||
|
||||
# Override methods in the specific type of manager
|
||||
|
|
|
@ -73,9 +73,11 @@ class TestParameters(unittest.TestCase):
|
|||
'dest1',
|
||||
'dest2'
|
||||
],
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
)
|
||||
p = ModuleParameters(params=args)
|
||||
assert p.name == 'foo'
|
||||
|
@ -108,9 +110,11 @@ class TestManager(unittest.TestCase):
|
|||
'dest2'
|
||||
],
|
||||
state='present',
|
||||
password='password',
|
||||
server='localhost',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -101,9 +101,11 @@ class TestManager(unittest.TestCase):
|
|||
network='default',
|
||||
description='my description',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -107,9 +107,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -135,9 +137,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
description='Important Description',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -106,9 +106,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -133,9 +135,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
description='Important Description',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -164,9 +164,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -196,9 +198,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=16,
|
||||
time_until_up=0,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -221,9 +225,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
port=800,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -248,9 +254,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=10,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -275,9 +283,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
interval=30,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -303,9 +313,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=10,
|
||||
timeout=5,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -330,9 +342,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
send='this is another send string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -357,9 +371,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
receive='this is another receive string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -384,9 +400,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
timeout=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
@ -411,9 +429,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
time_until_up=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_http.json'))
|
||||
|
|
|
@ -164,9 +164,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -196,9 +198,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=16,
|
||||
time_until_up=0,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -221,9 +225,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
port=800,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -248,9 +254,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=10,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -275,9 +283,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
interval=30,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -303,9 +313,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=10,
|
||||
timeout=5,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -330,9 +342,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
send='this is another send string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -357,9 +371,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
receive='this is another receive string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -384,9 +400,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
timeout=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
@ -411,9 +429,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
time_until_up=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_https.json'))
|
||||
|
|
|
@ -92,9 +92,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -155,9 +155,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
|
|
@ -166,9 +166,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -198,9 +200,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -223,9 +227,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
port=800,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -250,9 +256,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=10,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -277,9 +285,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=30,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -305,9 +315,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=10,
|
||||
timeout=5,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -332,9 +344,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
send='this is another send string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -359,9 +373,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
receive='this is another receive string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -386,9 +402,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
timeout=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
@ -413,9 +431,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
time_until_up=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp.json'))
|
||||
|
|
|
@ -142,9 +142,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -168,9 +170,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_echo.json'))
|
||||
|
@ -192,9 +196,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
interval=10,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_echo.json'))
|
||||
|
@ -218,9 +224,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
interval=30,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_echo.json'))
|
||||
|
@ -245,9 +253,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=10,
|
||||
timeout=5,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_echo.json'))
|
||||
|
@ -271,9 +281,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
timeout=300,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_echo.json'))
|
||||
|
@ -296,9 +308,11 @@ class TestManagerEcho(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
time_until_up=300,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_echo.json'))
|
||||
|
|
|
@ -148,9 +148,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -175,9 +177,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=20,
|
||||
timeout=30,
|
||||
time_until_up=60,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_half_open.json'))
|
||||
|
@ -199,9 +203,11 @@ class TestManager(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
interval=10,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_half_open.json'))
|
||||
|
@ -225,9 +231,11 @@ class TestManager(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
interval=30,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_half_open.json'))
|
||||
|
@ -252,9 +260,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=10,
|
||||
timeout=5,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_half_open.json'))
|
||||
|
@ -278,9 +288,11 @@ class TestManager(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
timeout=300,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_half_open.json'))
|
||||
|
@ -303,9 +315,11 @@ class TestManager(unittest.TestCase):
|
|||
set_module_args(dict(
|
||||
name='foo',
|
||||
time_until_up=300,
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_tcp_half_open.json'))
|
||||
|
|
|
@ -164,9 +164,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=30,
|
||||
time_until_up=60,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
module = AnsibleModule(
|
||||
|
@ -196,9 +198,11 @@ class TestManager(unittest.TestCase):
|
|||
timeout=16,
|
||||
time_until_up=0,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -221,9 +225,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
port=800,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -248,9 +254,11 @@ class TestManager(unittest.TestCase):
|
|||
name='foo',
|
||||
interval=10,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -275,9 +283,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
interval=30,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -303,9 +313,11 @@ class TestManager(unittest.TestCase):
|
|||
interval=10,
|
||||
timeout=5,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -330,9 +342,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
send='this is another send string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -357,9 +371,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
receive='this is another receive string',
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -384,9 +400,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
timeout=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
@ -411,9 +429,11 @@ class TestManager(unittest.TestCase):
|
|||
name='asdf',
|
||||
time_until_up=300,
|
||||
partition='Common',
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
provider=dict(
|
||||
server='localhost',
|
||||
password='password',
|
||||
user='admin'
|
||||
)
|
||||
))
|
||||
|
||||
current = Parameters(params=load_fixture('load_ltm_monitor_udp.json'))
|
||||
|
|
Loading…
Reference in a new issue