# flake8: noqa # pylint: skip-file DOCUMENTATION = ''' --- module: yedit short_description: Create, modify, and idempotently manage yaml files. description: - Modify yaml files programmatically. options: state: description: - State represents whether to create, modify, delete, or list yaml required: true default: present choices: ["present", "absent", "list"] aliases: [] debug: description: - Turn on debug information. required: false default: false aliases: [] src: description: - The file that is the target of the modifications. required: false default: None aliases: [] content: description: - Content represents the yaml content you desire to work with. This - could be the file contents to write or the inmemory data to modify. required: false default: None aliases: [] content_type: description: - The python type of the content parameter. required: false default: 'dict' aliases: [] key: description: - The path to the value you wish to modify. Emtpy string means the top of - the document. required: false default: '' aliases: [] value: description: - The incoming value of parameter 'key'. required: false default: aliases: [] value_type: description: - The python type of the incoming value. required: false default: '' aliases: [] update: description: - Whether the update should be performed on a dict/hash or list/array - object. required: false default: false aliases: [] append: description: - Whether to append to an array/list. When the key does not exist or is - null, a new array is created. When the key is of a non-list type, - nothing is done. required: false default: false aliases: [] index: description: - Used in conjunction with the update parameter. This will update a - specific index in an array/list. required: false default: false aliases: [] curr_value: description: - Used in conjunction with the update parameter. This is the current - value of 'key' in the yaml file. required: false default: false aliases: [] curr_value_format: description: - Format of the incoming current value. choices: ["yaml", "json", "str"] required: false default: false aliases: [] backup: description: - Whether to make a backup copy of the current file when performing an - edit. required: false default: true aliases: [] separator: description: - The separator being used when parsing strings. required: false default: '.' aliases: [] author: - "Kenny Woodson " extends_documentation_fragment: [] ''' EXAMPLES = ''' # Simple insert of key, value - name: insert simple key, value yedit: src: somefile.yml key: test value: somevalue state: present # Results: # test: somevalue # Multilevel insert of key, value - name: insert simple key, value yedit: src: somefile.yml key: a#b#c value: d state: present # Results: # a: # b: # c: d # # multiple edits at the same time - name: perform multiple edits yedit: src: somefile.yml edits: - key: a#b#c value: d - key: a#b#c#d value: e state: present # Results: # a: # b: # c: # d: e '''