Verwenden einer registrierten Variablen in Ansible, nachdem einfache Anführungszeichen entfernt wurden
Nach der Registrierung des Ergebnisses einer Aufgabe, wenn ich die Variable debuggen. Der Wert, den ich erhalte, ist in doppelten Anführungszeichen wie"1234"
. Wenn ich es in einem anderen Modul oder einer anderen Aufgabe verwende, wird es zu[u'1234']
.
Ich habe das Zeichen u und die Klammern durch Ersetzen entfernt.
Wie man einfache Anführungszeichen loswird, das ist ein vernünftiger Standardwert.
Actual output : '1234'
expected output: 1234
Playbook-Snippet
- uri:
url: http://test/ws?Id=4a3d
method: GET
content_as_json: yes
password: admin
user: admin
validate_certs: no
return_content: yes
HEADER_Cookie: "{{login.set_cookie}}"
register: name
- debug: msg="{{ name.content | regex_findall('name=\"(\d+)\"') }}"
register: test
- uri:
url: "http://test/ws?name={{test.msg | replace('u','') | replace('[','') | replace(']','')}}"
method: GET
content_as_json: true
password: admin
user: admin
validate_certs: no
return_content: yes
HEADER_Cookie: "{{login.set_cookie}}"
Ich benutzteint
auch aber das gab 0 zurück.
{{test.msg | replace('u','') | replace('[','') | replace(']','') | int}}
URI Modul Ausgang:
"<listResponse type=\"cust\" count=\"1\"><instance name=\"1234\" id=\"abcd\" customerRefId=\"xyz\" refId1=\"2345\" type=\"org\" enabled=\"true\" phone=\"\" fax=\"\" billingZip=\"\" billingAddress=\"\" billingCity=\"\" billingCountry=\"\" billingState=\"\" vendorId=\"1\" defaultEmail=\"pqr\" defaultContactName=\"wer\"/></listResponse>"