Try something like this
"device": "{{ device_id | int }}"
On Wed, Mar 3, 2021 at 6:24 PM Pravin V <[email protected]> wrote:
> Hello Racke,
> I'm trying to pass the numeric values of an variable into JSON.
> - name: Device ID
> set_fact:
> "device_id": "{{ device_item_netbox.id }}"
>
> - name: DEBUG - DEVICE ID
> debug: msg="{{ device_id }}"
>
> Output -
> TASK [DEBUG - DEVICE ID]
> ********************************************************************************************************************************************
> ok: [localhost] =>
> msg: '3483'
>
> When I try to pass the same into JSON body-
> - name: Create Interface - Netbox
> uri:
> url: "{{ netbox_url }}/api/dcim/interfaces/"
> return_content: yes
> method: POST
> validate_certs: false
> status_code: 200,201
> headers:
> Authorization: "Token {{ netbox_server_token }}"
> body_format: json
> body:
> {
> "device": "{{ device_id }}",
> "name": "GigabitEthernet0/0",
> "mac_address": "0001e896655b",
> "type": "10gbase-t",
> "enabled": "true",
> "description": "GigabitEthernet0/0"
> }
>
> Verbose output -
> fatal: [localhost]: FAILED! => changed=false
> allow: GET, POST, HEAD, OPTIONS, TRACE
> api_version: '2.8'
> content: '{"non_field_errors":["The fields device, name must make a
> unique set."]}'
> content_length: '72'
> content_type: application/json
> elapsed: 0
> invocation:
> module_args:
> attributes: null
> body:
> description: GigabitEthernet0/0
> device: '3483'
> enabled: 'true'
> mac_address: 0001e896655b
> name: GigabitEthernet0/0
> type: 10gbase-t
>
> But when I add something with variables like below, it removes adding
> quotes -
> body:
> {
> "device": "{{ device_id }} m",
>
> Verbose output -
> module_args:
> attributes: null
> body:
> description: GigabitEthernet0/0
> device: 3483 m
>
> Please advise how can I fetch/pass only numeric digits without quotes.
>
> On Tuesday, 2 March 2021 at 00:44:35 UTC+5:30 Pravin V wrote:
>
>> Thank you so much, Racke.
>> It worked like a charm. I was using it with rest API in JSON format. When
>> I debug, it was adding single quotes(') but when I passed the command in
>> URI module as you advised, it was not adding single quotes (').
>>
>> Thanks once again!!!
>>
>> On Friday, 26 February 2021 at 23:17:58 UTC+5:30 [email protected] wrote:
>>
>>> On 2/26/21 5:12 PM, Pravin V wrote:
>>> > Hello Everyone,
>>> > When I use the regex_search in tasks, it is adding single quotes in
>>> the starting and end.
>>> > Like for this -
>>> > - sw01 GigabitEthernet0/0 IF-MIB.ifSpeed = 1000000000
>>> > when I use regex_search-
>>> > - name: SET FACT - Interface SPEED -1
>>> > set_fact:
>>> > speeds: "{{ item.0 | regex_search('[^=]*$') | regex_replace(' ',
>>> '') }}"
>>> >
>>> > Converting above value to -
>>> > ok: [localhost] => (item=['sw01 GigabitEthernet0/0 IF-MIB.ifSpeed =
>>> 1000000000'])
>>> >
>>> > My goal is fetch the value after '='
>>> > sw01 GigabitEthernet0/0 IF-MIB.ifSpeed = 1000000000
>>> > to
>>> > 1000000000
>>> >
>>> > please advise.
>>>
>>> The regex_search filter is superfluous in this case, try:
>>>
>>> regex_replace('^.*=(.*)$', '\\1')
>>>
>>> \\1 references the part of the string matched by (.*).
>>>
>>> Regards
>>> Racke
>>>
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> Groups "Ansible Project" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> an email to
>>> > [email protected] <mailto:
>>> [email protected]>.
>>> > To view this discussion on the web visit
>>> >
>>> https://groups.google.com/d/msgid/ansible-project/4c18f52b-b989-4dca-945a-5272c8e6d60cn%40googlegroups.com
>>> > <
>>> https://groups.google.com/d/msgid/ansible-project/4c18f52b-b989-4dca-945a-5272c8e6d60cn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>
>>>
>>>
>>> --
>>> Ecommerce and Linux consulting + Perl and web application programming.
>>> Debian and Sympa administration. Provisioning with Ansible.
>>>
>>> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/d01fd39a-005d-4bd9-89d2-a10aa1bb4a6fn%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/d01fd39a-005d-4bd9-89d2-a10aa1bb4a6fn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
Thanks,
Pushparaj G
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAE5Yv1S%3D_vMnHU6rR2W2wtP4JiMo_oa9BwC6j-J9Z%2BvcUNHO4Q%40mail.gmail.com.