Fixes for bigip monitors and profiles (#34524)

Fixed incorrect parent comparison. Fixed old fqdn_name usage.
Fixed incorrect default parents
pull/34530/head
Tim Rupp 7 years ago committed by GitHub
parent 803e4124b6
commit e5d77c7782
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -232,6 +232,11 @@ class Parameters(AnsibleF5Parameters):
# If the mapped value is not a @property # If the mapped value is not a @property
self._values[map_key] = v self._values[map_key] = v
def _fqdn_name(self, value):
if value is not None and not value.startswith('/'):
return '/{0}/{1}'.format(self.partition, value)
return value
def to_return(self): def to_return(self):
result = {} result = {}
try: try:
@ -316,11 +321,7 @@ class Parameters(AnsibleF5Parameters):
def parent(self): def parent(self):
if self._values['parent'] is None: if self._values['parent'] is None:
return None return None
if self._values['parent'].startswith('/'): result = self._fqdn_name(self._values['parent'])
parent = os.path.basename(self._values['parent'])
result = '/{0}/{1}'.format(self.partition, parent)
else:
result = '/{0}/{1}'.format(self.partition, self._values['parent'])
return result return result
@property @property
@ -355,7 +356,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent monitor cannot be changed" "The parent monitor cannot be changed"
) )
@ -569,7 +570,7 @@ class ArgumentSpec(object):
self.supports_check_mode = True self.supports_check_mode = True
self.argument_spec = dict( self.argument_spec = dict(
name=dict(required=True), name=dict(required=True),
parent=dict(default='http'), parent=dict(default='/Common/http'),
send=dict(), send=dict(),
receive=dict(), receive=dict(),
receive_disable=dict(required=False), receive_disable=dict(required=False),

@ -221,6 +221,11 @@ class Parameters(AnsibleF5Parameters):
# If the mapped value is not a @property # If the mapped value is not a @property
self._values[map_key] = v self._values[map_key] = v
def _fqdn_name(self, value):
if value is not None and not value.startswith('/'):
return '/{0}/{1}'.format(self.partition, value)
return value
def to_return(self): def to_return(self):
result = {} result = {}
try: try:
@ -313,11 +318,7 @@ class Parameters(AnsibleF5Parameters):
def parent(self): def parent(self):
if self._values['parent'] is None: if self._values['parent'] is None:
return None return None
if self._values['parent'].startswith('/'): result = self._fqdn_name(self._values['parent'])
parent = os.path.basename(self._values['parent'])
result = '/{0}/{1}'.format(self.partition, parent)
else:
result = '/{0}/{1}'.format(self.partition, self._values['parent'])
return result return result
@property @property
@ -340,7 +341,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent monitor cannot be changed" "The parent monitor cannot be changed"
) )
@ -551,7 +552,7 @@ class ArgumentSpec(object):
self.supports_check_mode = True self.supports_check_mode = True
self.argument_spec = dict( self.argument_spec = dict(
name=dict(required=True), name=dict(required=True),
parent=dict(default='https'), parent=dict(default='/Common/https'),
send=dict(), send=dict(),
receive=dict(), receive=dict(),
receive_disable=dict(required=False), receive_disable=dict(required=False),

@ -292,6 +292,11 @@ class Parameters(AnsibleF5Parameters):
# If the mapped value is not a @property # If the mapped value is not a @property
self._values[map_key] = v self._values[map_key] = v
def _fqdn_name(self, value):
if value is not None and not value.startswith('/'):
return '/{0}/{1}'.format(self.partition, value)
return value
def to_return(self): def to_return(self):
result = {} result = {}
try: try:
@ -338,11 +343,7 @@ class Parameters(AnsibleF5Parameters):
def parent(self): def parent(self):
if self._values['parent'] is None: if self._values['parent'] is None:
return None return None
if self._values['parent'].startswith('/'): result = self._fqdn_name(self._values['parent'])
parent = os.path.basename(self._values['parent'])
result = '/{0}/{1}'.format(self.partition, parent)
else:
result = '/{0}/{1}'.format(self.partition, self._values['parent'])
return result return result
@property @property
@ -406,7 +407,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent monitor cannot be changed" "The parent monitor cannot be changed"
) )
@ -622,7 +623,7 @@ class ArgumentSpec(object):
self.argument_spec = dict( self.argument_spec = dict(
name=dict(required=True), name=dict(required=True),
description=dict(), description=dict(),
parent=dict(), parent=dict(default='/Common/snmp_dca'),
ip=dict(), ip=dict(),
interval=dict(type='int'), interval=dict(type='int'),
timeout=dict(type='int'), timeout=dict(type='int'),

@ -194,6 +194,11 @@ class Parameters(AnsibleF5Parameters):
# If the mapped value is not a @property # If the mapped value is not a @property
self._values[map_key] = v self._values[map_key] = v
def _fqdn_name(self, value):
if value is not None and not value.startswith('/'):
return '/{0}/{1}'.format(self.partition, value)
return value
def to_return(self): def to_return(self):
result = {} result = {}
try: try:
@ -289,7 +294,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent monitor cannot be changed" "The parent monitor cannot be changed"
) )
@ -486,7 +491,7 @@ class ArgumentSpec(object):
self.supports_check_mode = True self.supports_check_mode = True
self.argument_spec = dict( self.argument_spec = dict(
name=dict(required=True), name=dict(required=True),
parent=dict(default='tcp_echo'), parent=dict(default='/Common/tcp_echo'),
ip=dict(), ip=dict(),
interval=dict(type='int'), interval=dict(type='int'),
timeout=dict(type='int'), timeout=dict(type='int'),

@ -213,6 +213,11 @@ class Parameters(AnsibleF5Parameters):
# If the mapped value is not a @property # If the mapped value is not a @property
self._values[map_key] = v self._values[map_key] = v
def _fqdn_name(self, value):
if value is not None and not value.startswith('/'):
return '/{0}/{1}'.format(self.partition, value)
return value
def to_return(self): def to_return(self):
result = {} result = {}
try: try:
@ -324,7 +329,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent monitor cannot be changed" "The parent monitor cannot be changed"
) )
@ -533,7 +538,7 @@ class ArgumentSpec(object):
self.supports_check_mode = True self.supports_check_mode = True
self.argument_spec = dict( self.argument_spec = dict(
name=dict(required=True), name=dict(required=True),
parent=dict(default='tcp_half_open'), parent=dict(default='/Common/tcp_half_open'),
ip=dict(), ip=dict(),
port=dict(type='int'), port=dict(type='int'),
interval=dict(type='int'), interval=dict(type='int'),

@ -214,6 +214,11 @@ class Parameters(AnsibleF5Parameters):
# If the mapped value is not a @property # If the mapped value is not a @property
self._values[map_key] = v self._values[map_key] = v
def _fqdn_name(self, value):
if value is not None and not value.startswith('/'):
return '/{0}/{1}'.format(self.partition, value)
return value
def to_return(self): def to_return(self):
result = {} result = {}
try: try:
@ -329,7 +334,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent monitor cannot be changed" "The parent monitor cannot be changed"
) )
@ -539,7 +544,7 @@ class ArgumentSpec(object):
self.supports_check_mode = True self.supports_check_mode = True
self.argument_spec = dict( self.argument_spec = dict(
name=dict(required=True), name=dict(required=True),
parent=dict(default='udp'), parent=dict(default='/Common/udp'),
send=dict(), send=dict(),
receive=dict(), receive=dict(),
receive_disable=dict(required=False), receive_disable=dict(required=False),

@ -340,7 +340,7 @@ class Difference(object):
@property @property
def parent(self): def parent(self):
if self.want.parent != self.want.parent: if self.want.parent != self.have.parent:
raise F5ModuleError( raise F5ModuleError(
"The parent profile cannot be changed" "The parent profile cannot be changed"
) )

Loading…
Cancel
Save