123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- # 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 <kwoodson@redhat.com>"
- 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
- '''
|