Имя атрибута словаря подстрок в Ansible

#ansible

Вопрос:

У меня есть словарь ниже:

 {
    "dev/pw": "pw",
    "dev/user": "temp",
}
 

Я хотел превратить его в ниже:

 {
    "pw": "pw",
    "user": "temp",
}
 

Как я могу этого достичь?

Ответ №1:

Не совсем уверен, что вы можете изменить существующие ключи словаря, но вы можете создать новый словарь из существующего с необходимым преобразованием, например:

 - set_fact:
    nd: "{{ nd | default({}) | combine (tmp) }}"
  vars:
    tmp: "{ '{{ item.key | replace('dev/','') }}' : '{{ item.value }}' }"
  loop: "{{ d | dict2items }}"
 

nd приведет к:

 "nd": {
    "pw": "pw",
    "user": "temp"
}