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.

Reply via email to