azure: fix creation of TXT dns record sets (#38368)
As per `azure.mgmt.dns.models.txt_record.TxtRecord`, expected value for a record is of type `[str]`. Fix TXT argspec to specify type as `list` instead of `str`. Fixes #37581 Reference: https://docs.microsoft.com/en-us/python/api/azure.mgmt.dns.models.txtrecord?view=azure-python
This commit is contained in:
parent
8c27ffdf90
commit
eb430b2e57
2 changed files with 26 additions and 2 deletions
|
@ -211,7 +211,7 @@ RECORD_ARGSPECS = dict(
|
||||||
target=dict(type='str', required=True, aliases=['entry'])
|
target=dict(type='str', required=True, aliases=['entry'])
|
||||||
),
|
),
|
||||||
TXT=dict(
|
TXT=dict(
|
||||||
value=dict(type='str', required=True, aliases=['entry'])
|
value=dict(type='list', required=True, aliases=['entry'])
|
||||||
),
|
),
|
||||||
# FUTURE: ensure all record types are supported (see https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-dns/azure/mgmt/dns/models)
|
# FUTURE: ensure all record types are supported (see https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-dns/azure/mgmt/dns/models)
|
||||||
)
|
)
|
||||||
|
@ -375,7 +375,11 @@ class AzureRMRecordSet(AzureRMModuleBase):
|
||||||
def gethash(self):
|
def gethash(self):
|
||||||
if not getattr(self, '_cachedhash', None):
|
if not getattr(self, '_cachedhash', None):
|
||||||
spec = inspect.getargspec(self.__init__)
|
spec = inspect.getargspec(self.__init__)
|
||||||
valuetuple = tuple([getattr(self, x, None) for x in spec.args if x != 'self'])
|
valuetuple = tuple(
|
||||||
|
map(lambda v: v if not isinstance(v, list) else str(v), [
|
||||||
|
getattr(self, x, None) for x in spec.args if x != 'self'
|
||||||
|
])
|
||||||
|
)
|
||||||
self._cachedhash = hash(valuetuple)
|
self._cachedhash = hash(valuetuple)
|
||||||
return self._cachedhash
|
return self._cachedhash
|
||||||
|
|
||||||
|
|
|
@ -158,6 +158,26 @@
|
||||||
that:
|
that:
|
||||||
- results.changed
|
- results.changed
|
||||||
|
|
||||||
|
- name: create TXT records in a new record set
|
||||||
|
azure_rm_dnsrecordset:
|
||||||
|
resource_group: "{{ resource_group }}"
|
||||||
|
relative_name: "_txt.{{ domain_name }}.com"
|
||||||
|
zone_name: "{{ domain_name }}.com"
|
||||||
|
record_type: TXT
|
||||||
|
state: present
|
||||||
|
records:
|
||||||
|
- entry: "v=spf1 a -all"
|
||||||
|
- entry: "foo"
|
||||||
|
- entry:
|
||||||
|
- "bar"
|
||||||
|
- "baz"
|
||||||
|
register: results
|
||||||
|
|
||||||
|
- name: Assert that TXT record set was created
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- results.changed
|
||||||
|
|
||||||
- name: Delete DNS zone
|
- name: Delete DNS zone
|
||||||
azure_rm_dnszone:
|
azure_rm_dnszone:
|
||||||
resource_group: "{{ resource_group }}"
|
resource_group: "{{ resource_group }}"
|
||||||
|
|
Loading…
Reference in a new issue