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.

Reply via email to