I'm taking user input for variables: *input_subcluster, input_subnet *and
*subcluster_to_subnet_map* is defined in subcluster_to_subnet_map.yml file.
Here is my code -
- hosts: localhost
connection: local
gather_facts: True
#
## Taking inputs for subcluster and subnet
#
vars_prompt:
- name: "input_subcluster"
prompt: "Enter subcluster name"
private: no
- name: "input_subnet"
prompt: "Enter subnet name"
private: no
- include_vars:
file: environment/Dev/subcluster_to_subnet_map.yml
name: subcluster_to_subnet_map
- name: append new subnet and subcluster values
set_fact:
subcluster_to_subnet_map: "{{ subcluster_to_subnet_map |
default({}) | combine ({input_subcluster: input_subnet}) }}"
- debug:
var: subcluster_to_subnet_map
- name: write var to file
copy:
content: "{{ subcluster_to_subnet_map | to_nice_yaml }}"
dest: environment/Dev/subcluster_to_subnet_map.yml
=============================================
Location and content of subcluster_to_subnet_map.yml file:
environment/Dev/subcluster_to_subnet_map.yml
*subcluster_to_subnet_map: ee: ee-ci9-sc8 test: test-ci1-sc1*
* <<new value should have 2 spaces>>*
On Tuesday, June 14, 2022 at 11:05:54 PM UTC+5:30 [email protected] wrote:
> Where are these variables defined?
>
> subcluster_to_subnet_map
> input_subcluster
> input_subnet
>
> Please share the complete playbook and variables.
>
>
>
> On Tue, 14 Jun 2022 at 15:35, Shivani Arora <[email protected]> wrote:
> >
> > Hi,
> >
> > I'm trying to append new key-value pair in the existing yml
> (subcluster_to_subnet_map.yml) file using combine. New values are getting
> appended correctly but it's getting added without spaces.
> >
> > I need help with adding 2 spaces in starting so that the indentation is
> maintained. Please suggest how this can be achieved. (I don't want to use
> lineinfile here)
> >
> >
> > Yaml file on which key-value pair should be added:
> subcluster_to_subnet_map.yml
> >
> > subcluster_to_subnet_map:
> > ee: ee-ci9-sc8
> > test: test-ci1-sc1
> > <<new value should have 2 spaces>>
> >
> > I'm using below code for this -
> > - name: append new subnet and subcluster values
> > set_fact:
> > subcluster_to_subnet_map: "{{ subcluster_to_subnet_map | default({}) |
> combine ({input_subcluster: input_subnet}) }}"
> >
> > - debug:
> > var: subcluster_to_subnet_map
> >
> > - name: write var to file
> > copy:
> > content: "{{ subcluster_to_subnet_map | to_nice_yaml }}"
> > dest: environment/subcluster_to_subnet_map.yml
> >
> > The output I'm getting now is -
> >
> > subcluster_to_subnet_map:
> > ee: ee-ci9-sc8
> > test: test-ci1-sc1
> > test1: infra-nodes
> >
> > --
> > 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/80ee5278-ada8-498f-a412-0887e7d79717n%40googlegroups.com
> .
>
--
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/807a1167-c6bf-4d89-b964-9cdebbb905d1n%40googlegroups.com.