Commit graph

51 commits

Author SHA1 Message Date
Matt Clay
bbca98ae8e Fix PEP8 issue. 2018-09-01 22:54:13 -07:00
Dan Farrell
667f62c5a8 Update lineinfile.py (#44976)
* Update lineinfile.py

The document should call out in the regexp section what regexp does in non-match scenario, not just leave it for the reader to find it under `insertbefore` and `insertafter`.  
+label: docsite_pr

* Update lineinfile.py

fixing for lint

* Use multiple entries
2018-09-02 05:18:33 +02:00
Alicia Cozine
0be5734741 add insertbefore/after details to lineinefile docs (#44277) 2018-08-17 10:19:07 -04:00
fluxcess
6290a7c595 added description (#42187)
Added description to one of the really basic code examples

+label: docsite_pr
2018-07-02 10:10:27 -04:00
Sam Doran
fb55038d75 Add warning when using an empty regexp in lineinfile (#42013)
* Revert "Account for empty string regexp in lineinfile (#41451)"

This reverts commit 4b5b4a760c.

* Use context managers for interacting with files

* Store line and regexp parameters in a variable

* Add warning when regexp is an empty string

* Remove '=' from error messages

* Update warning message and add changelog

* Add tests

* Improve warning message

Offer an equivalent regexp that won't trigger the warning.
Update tests to match new warning.

* Add porting guide entry for lineinfile change
2018-06-29 17:15:43 -07:00
Sam Doran
4b5b4a760c
Account for empty string regexp in lineinfile (#41451)
* Use context managers for interacting with files

* Account for empty string as regexp

Rather than explicitly testing for None, also test for an empty string which will evaluate to False. An empty string regexp matches every line, which ends up replacing the incorrect line.

* Store line parameter in a variable

* Add tests
2018-06-25 17:57:05 -04:00
Sam Doran
eaae1318f8
Skip if insertbefore BOF until later (#41767)
If a line match is found in the file and no regexp is specified, insertbefore would improperly try to add a line if set to BOF.

Add tests for this scenario.
2018-06-25 16:24:41 -04:00
Evgeni Golov
e601caf873 lineinfile: add regex as an alias for regexp (#20454)
the param is called regexp, but a lot of people spell it regex
add an alias to help them
2018-06-20 12:54:33 -04:00
siran
b43a1a9f9f Update lineinfile.py (#38444)
`line` is a parameter. just making it explicit.
2018-05-24 23:22:18 -04:00
Jordan Borean
c3a805aa3c minor wording changes to remove ambiguity 2018-02-28 16:47:41 -05:00
Michael Gajda
45e7689335 Fix lineinfile example
The examples comment said 'Add a line to a file if it does not exist, without passing regexp' which suggests, that the file is being created. But the default for 'create' is false. Thus the example lacked this option.
2018-02-28 16:47:41 -05:00
Sam Doran
723daf3e3a
Check for regexp match when using insertbefore or insertafter (#36474)
Add tests to cover this scenario
Fixes #36156
2018-02-21 17:03:38 -05:00
Giovanni Sciortino
038b281da2 lineinfile creating underlying directory manage permission denied exception (#35794) 2018-02-06 14:03:20 -06:00
Sam Doran
f8f2b6d61d
Fix lineinfile to insert line when pattern exists elsewhere in the file. (#33393)
* Insert lines before or after when the regexp exists elsewhere in the file

* Correct filter syntax in lineinfile integration test

* Use multi-line YAML syntax on lineinfile tests

Unify indentation

* Add lineinfile tests for same line matched to different regexps

* Remove debug statement from test
2018-02-01 16:45:26 -05:00
cyrill
d08179593f Add a new option firstmatch to lineinfile module. (#33825)
* Add a new option firstmatch to lineinfile module.

* Add firstmatch option in DOCUMENTATION

* Fix indent

* Add version_added "2.5"
2017-12-13 09:49:44 -06:00
Dag Wieers
babc2354a5
lineinfile: pylint fixes and docs (#30854)
This PR includes;
- pylint fixes
- Documentation updates
2017-10-30 00:55:14 +01:00
Toshio Kuratomi
f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Abhijeet Kasurde
bf54a0c3e5 Fix missing import and boilerplate
Added fix for missing imports and boilerplate in files modules,
also, removed get_exception calls to match 2.6> exception handling.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-03 08:39:15 -07:00
Pete Travis
7a35b95609 provide usable examples for sudo validation 2017-08-03 11:04:07 -04:00
Sloane Hertel
00ebd0c89d make lineinfile docs clearer and make module pep8 (#23857) 2017-04-23 09:19:22 +02:00
Toshio Kuratomi
eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
Matt Clay
10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
HyungCheol Kim
fc04164505 Correct typos. (#20490) 2017-01-20 08:03:49 -05:00
Dag Wieers
1ad55ec9de Consistent path attribute for file-related modules
Not all file-related modules consistently use "path" as the attribute to specify a single filename, some use "dest", others use "name". Most do have aliases for either "name" or "destfile".

This change makes "path" the default attribute for (single) file-related modules, but also adds "dest" and "name" as aliases, so that people can use a consistent way of attributing paths, but also to ensure backward compatibility with existing playbooks.

NOTE: The reason for changing this, is that it makes Ansible needlessly harder to use if you have to remember that e.g. the xattr module requires the name attribute, the lineinfile module requires a dest attribute, and the stat module requires a path attribute.
2017-01-13 15:49:42 -05:00
Toshio Kuratomi
08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
Matt Clay
c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
James Cammarata
8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi
7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Sam Doran
25f6f36a92 Change examples syntax on lineinfile module 2016-12-08 11:25:29 -05:00
Toshio Kuratomi
45846127c5 to_text, to_bytes, and to_native now have surrogate_or_strict error handler (#4630)
On python3, we want to use the surrogateescape error handler if
available for filesystem paths and the like.  On python2, have to use
strict in these circumstances.  Use the new error strategy for to_text,
to_bytes, and to_native that allows this.
2016-12-08 11:24:57 -05:00
Toshio Kuratomi
c4988262b5 Fixes for lineinfile (#4553)
Lineinfile deals heavily with Unic text files.  Makes some sense to deal
with it all as byte strings.  So there is a lot of work done here to
show that we're dealing with byte strings throughout.
2016-12-08 11:24:53 -05:00
Brian Coca
81e87cefd7 unsafe writes! (#4314)
* unsafe writes!

* moved unsafe_write docs and args to file common

* added unsafe_writes option handling
2016-12-08 11:24:49 -05:00
Marcos Diez
366d52cf18 The documentation of lineinfile now makes reference to blockinfile (#3639) 2016-12-08 11:24:30 -05:00
Jose Moreira
cc173b445e Fixed module doc typos 2016-12-08 11:24:06 -05:00
Tobias Wolf
1ecc8544f6 Add diff for both file contents and file attributes to lineinfile
Using the difflist feature added in ansible/ansible@c337293 we can add
two diffs to the `diff` dict returned as JSON: A `before` and `after` pair of
changed file contents and the diff of the file attributes.

n.b.: the difflist handling from the above commit is logically broken.
PR will follow.

Example output:

    TASK [change line and mode] ************************************************************
    changed: [localhost]
    --- before: /tmp/sshd_config (content)
    +++ after: /tmp/sshd_config (content)
    @@ -65,21 +65,21 @@
     X11DisplayOffset 10
     PrintMotd no
     PrintLastLog yes
     TCPKeepAlive yes
     #UseLogin no

     #MaxStartups 10:30:60
     #Banner /etc/issue.net

     # Allow client to pass locale environment variables
    -AcceptEnv LANG LC_*
    +AcceptEnv        LANG LC_* GF_ENV_*

     Subsystem sftp /usr/lib/openssh/sftp-server

     # Set this to 'yes' to enable PAM authentication, account processing,
     # and session processing. If this is enabled, PAM authentication will
     # be allowed through the ChallengeResponseAuthentication and
     # PasswordAuthentication.  Depending on your PAM configuration,
     # PAM authentication via ChallengeResponseAuthentication may bypass
     # the setting of "PermitRootLogin without-password".
     # If you just want the PAM account and session checks to run without

    --- before: /tmp/sshd_config (file attributes)
    +++ after: /tmp/sshd_config (file attributes)
    @@ -1,3 +1,3 @@
     {
    -    "mode": "0700"
    +    "mode": "0644"
     }
2016-12-08 11:24:02 -05:00
Jeff Widman
70b3290a3b Move validate command into doc fragment and fix a few typos 2016-12-08 11:23:24 -05:00
gimoh
fd69c5687b Do not insert extra newline if line already contains it
When using YAML multi-line strings, e.g.:

- lineinfile:
    dest: /tmp/foo
    line: >
      foo
      bar

the line already ends with a newline.  If an extra newline is appended unconditionally it will lead to inserting an extra newline on each run.
2016-12-08 11:23:13 -05:00
Greg DeKoenigsberg
eb881d7d5d Proper author info for all remaining modules 2016-12-08 11:23:07 -05:00
jaypei
fbc8d4ca4a use the right way to unescape line string Reference https://github.com/ansible/ansible/issues/10864 2016-12-08 11:23:03 -05:00
Toshio Kuratomi
20d7f929be Fix use of codecs.escape_decode() 2016-12-08 11:22:59 -05:00
Toshio Kuratomi
5204e94bda Slightly more future-proof version of the lineinfile fix 2016-12-08 11:22:59 -05:00
Toshio Kuratomi
1002fafedf Correct lineinfile documentation about double quoting... Hasn't been the case for years. 2016-12-08 11:22:59 -05:00
Toshio Kuratomi
86f8a3d381 Clarify the documented behaviour of insertbefore slightly. 2016-12-08 11:22:46 -05:00
Piotr Gosławski
9dd4f22430 update docs for insertbefore/insertafter 2016-12-08 11:22:46 -05:00
Piotr Gosławski
d388516046 Fix behavior when insert* doesn't match anything
If insertbefore/insertafter didn't match anything, lineinfile module was doing nothing, instead of adding the line at end of fille as it's supposed to.
2016-12-08 11:22:46 -05:00
Jeff Bradberry
60ed80f99a Fix breakage in lineinfile check mode when target file does not exist.
Similarly to https://github.com/ansible/ansible/issues/6182, checking of the file attributes should be avoided in check mode when the file didn't originally exist.

Also, avoid creating parent directories in check mode.

Fixes https://github.com/ansible/ansible/issues/9546
2016-12-08 11:22:33 -05:00
Eric
11bd0fed9d Fix lineinfile documentation typo 2016-12-08 11:22:28 -05:00
James Cammarata
429ab56e14 Adding file doc fragment to those modules in files/ missing it 2016-12-08 11:22:23 -05:00
Eric Hanchrow
e4ac716663 Tweak docs to mention replace 2016-12-08 11:22:23 -05:00
Major Hayden
e3449b6691 Updating SELinux example doc in lininefile module
Encouraging users to use this Ansible module to enable SELinux seems
like a better idea. It also warms Dan Walsh's heart.

Signed-off-by: Major Hayden <major@mhtx.net>
2016-12-08 11:22:23 -05:00