'Change Ansible key in a dict
I have a dictionary in Ansible.
my_dict:
  key1 : value1
  key2 : value2
  key3 : value3
  key4 : value4
I would like the final output to be
my_dict:
  key1 : value1
  key2 : value2
  key33 : value3
  key4 : value4
Is there a way to change the dictionary key from key3 to key33 ? Thanks
Solution 1:[1]
Q: "Is there a way to change the dictionary key from key3 to key33?"
A: No. There is not. A new dictionary must be created. For example
- hosts: localhost
  vars:
    my_dict:
      key1 : value1
      key2 : value2
      key3 : value3
      key4 : value4
  tasks:
    - set_fact:
        my_dict2: "{{ my_dict2|default({})|
                      combine({my_dict_trans[item.key]|
                               default(item.key): item.value}) }}"
      loop: "{{ my_dict|dict2items }}"
      vars:
        my_dict_trans:
          key3: key33
    - debug:
        var: my_dict2
gives
  my_dict2:
    key1: value1
    key2: value2
    key33: value3
    key4: value4
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | 
